Version 0.6.5

The version corresponds to the MIG 2017 poster presentation [Abstract][Poster]. A new example is shown below. Blue indicates new keywords introduced by GIGL and grey "..." in the code figure indicates omission. (Note that the poster forgot to mark the keyword "forbid" blue, which is indeed a keyword introduced by GIGL; also the code formatting style in different places are slightly different, please regard the source file versions as standards rather than the abstract/poster/manuscript/webpage versions)

Examples of generated dungeon levels when set to generate larger but less rooms.

Examples of generated dungeon levels when set to generate smaller but more rooms.

The Dungeon example; partial GIGL code.

[Download Complete GIGL Code]

[Download Full Source containing GIGL translated (generated) Code] (need OpenGL and SDL)

Updates

1. Propose and implemented the constructor/generator dual, for both the item level and production level. This enables some flexibility on deterministic controls on the generator.

2. Add the preselector block in default rules to allow extra control of rule selection inside item type instead of relying solely on configure parameter. Sometimes it is semantically clearer to do so (such as in the Dungeon Map example). The default rule is something inspired by the default production in Silver, which is in general the place to specify something applied to all rules from a nonterminal type by default. In this version, only preselector and functional attributes are implemented in the preselector block.

3. A more complete set of features for array-type rule children.

Resources

[gigl] (main gigl)

[simplecpp] (used to add part of C++ features that are not in C)

Note: build the above with an appropriate (not necessary latest) version of Silver and AbleC to get the GIGL translator.