Skip to content

sumedhghaisas/libgdl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#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

  • 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.