User Tools

Site Tools


formats:zax

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
formats:zax [2009-10-11 00:53] edheldilformats:zax [2010-10-17 21:51] (current) edheldil
Line 1: Line 1:
-==== ZAX File Format ====+==== CObject Text File ====
  
-=== Purpose: ===+Most of the text data files in Lionheart are text dumps of classes. They are the same general format, so this page should suffice to describe them all. 
 + 
 +==== Purpose: ====
  
 zax files zax files
Line 10: Line 12:
 ...? ...?
  
-=== EBNF specification ===+==== EBNF specification ====
  
-  zax ::= classname EOL attributes +  (* FIXMEI have not tested this specification, so there are probably errors in it *) 
-  attributes ::= "{" EOL attribute_list "}" +  (* FIXMEDynamic Properties are not handled in this description *) 
-  attribute_list ::= attribute attribute_list +  (* FIXME: DialogTree dash lines are not handled in this description *) 
-                  e +  (* FIXME: spurious empty lines and EOLs are not handled as well *) 
-  attribute ::= key "=" value EOL [ attribute_list +   
-  ...+  cobject = classname , [ init_args ] , EOL , cobject_data ; 
 +   
 +  init_args = "(" , int , { ",, int ")" ; 
 +   
 +  cobject_data = indent, "{" , EOL, ( keyvalue_data raw_data ) , indent, "}" ; 
 +  keyvalue_data { indent , key "=" value EOL } ; 
 +  raw_data = { indent , value , EOL } ; 
 +   
 +  key = limited string ; 
 +  value = string | bool | int | float | cobject ; 
 +  indent = { whitespace } 
 +   
 +  bool = "0" | "1"
 +  int = ( "-" , digit , { digit } ) | limited string ; 
 +  float = float decimal | float exponential | limited string ; 
 +  float decimal = [ "-" ] , digit , { digit } , "." , digit , { digit } ; 
 +  float exponential = float decimal , "e" , [ "-" ] , digit , { digit } ; 
 +  string = { printable | whitespace } ; 
 +  limited string = keychar | ( keychar , { keychar | whitespace } , keychar } ; 
 +  classname = letter , { letter | digit | "-" } ; 
 +   
 +  EOL = "\r" , "\n"
 +  digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
 +  whitespace = " " | "\t"
 +   
 +  (* meaning of these is hopefully clear *) 
 +  printable = ? "\041" .. "\176" ? ;  
 +  keychar = ? "\041" .. "\074" ? | ? "\076" .. "\176" ? ; (* probably some other chars except "=" are banned as well *) 
 +  letter = ? "A" .. "Z" ? | ? "a" .. "z" ? ;
  
-=== Classes ===+==== Classes ====
 Activities/AIs, Actions, ... Activities/AIs, Actions, ...
  
formats/zax.1255222431.txt.gz · Last modified: 2009-10-11 00:53 (external edit)