User Tools

Site Tools


formats:zax

This is an old revision of the document!


CObject Text File

Purpose:

zax files

textures

surface types (.STY) …?

EBNF specification

(* FIXME: I have not tested this specification, so there are probably errors in it *)
(* FIXME: Dynamic Properties are not handled in this description *)
(* FIXME: DialogTree dash lines are not handled in this description *)
(* FIXME: spurious empty lines and EOLs are not handled as well *)

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

Activities/AIs, Actions, …

formats/zax.1257723993.txt.gz · Last modified: 2009-11-08 23:46 by edheldil