A human being(or an intelligent robot) should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.
- Robert Heinlein
Game Description Language(GDL) is designed as a part of General Game Playing
Poject. GDL describes the state of a game as a series of facts, and the game
mechanics as logical rules.
GDL Language specifications
libGDL accommodates GDL parser, reasoner and flattener.
libGDL has the following dependencies:
After installing libGDL. Run command
_kif OUTPUT_FILENAME -c SOURCE_FILE_LIST_
For example,
kif test.kif -c 3puzzle.kif arithmatic.kif
To generate dependency graph in DOT format
kif test.kif -c 3puzzle.kif arithmatic.kif -g test.dot
NOTE: GraphViz library can be used to visualized the DOT representation.
After installing libGDL. Run command
_flatten OUTPUT_FILENAME -c SOURCE_FILE_LIST_
For example,
kif test.kif -c 3puzzle.kif arithmatic.kif
To generate the documentation of libGDL run command make doc in folder build.