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
Last revisionBoth sides next revision
formats:zax [2009-10-11 00:53] edheldilformats:zax [2009-11-08 23:46] edheldil
Line 1: Line 1:
-==== ZAX File Format ====+==== CObject Text File ====
  
-=== Purpose: ===+==== Purpose: ====
  
 zax files zax files
Line 10: Line 10:
 ...? ...?
  
-=== 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.txt · Last modified: 2010-10-17 21:51 by edheldil