The following rules define the syntax of a lattice using the first character of the field names defined below to represent the entire field. Any unrecognised fields may be ignored and no user defined fields may share first characters with pre-defined field names. parentheses () indicate that terms within may appear in any order and braces {} indicate that terms within are optional.
lattice_file = header size_def terms header = ( V {\n} U {\n} S {\n} ) { base {\n} start {\n} end {\n} dir {\n} tscale {\n} lmscale {\n} lmpen {\n} } size_def = ( L N ) \n terms = node_def | link_def { terms } node_def = I { t W v d a } \n link_def = J ( S E { W v d a n l} ) \n