#libGDL: Game Description Language(GDL) library
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
##Introduction
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.
##How To Install
- Create directory build.
- cd into build and run command cmake ../
- For building from source run command make, this will create executable kif and flatten inside bin.
- To install run command sudo make install
##Running Tests
- Run command make test for testing
##Dependencies
libGDL has the following dependencies:
- Boost (program_options, unit_test_framework)
- CMake >= 2.8.5
- BISON >= 3.0.0 (OPTIONAL)
- FLEX (OPTIONAL)
##Command Line Usage
###Using command line PARSER
After installing libGDL. Run command
kif OUTPUT_FILENAME -c SOURCE_FILE_LIST
For example,
kif test.kif -c 3puzzle.kif arithmatic.kif
####Parameter List:
- -g FILENAME To save dependency graph generated in DOT representation
- -w off To disable warnings
- -f[--flatten] To save the flattened KIF
- -h For help
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.
###Using command line FLATTENER
After installing libGDL. Run command
flatten OUTPUT_FILENAME -c SOURCE_FILE_LIST
For example,
kif test.kif -c 3puzzle.kif arithmatic.kif
####Parameter List:
- -w off To disable warnings
- -h For help
##To Generate Documentation
To generate the documentation of libGDL run command make doc in folder build.