sumedhghaisas / libgdl

C++ General Game Playing library
Other
4 stars 1 forks source link

libGDL: Game Description Language(GDL) library

build status

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

  1. Create directory build.
  2. cd into build and run command cmake ../
  3. For building from source run command make, this will create executable kif and flatten inside bin.
  4. To install run command sudo make install

Running Tests

Dependencies

libGDL has the following dependencies:

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:

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:

To Generate Documentation

To generate the documentation of libGDL run command make doc in folder build.