Cola Option Tool
In ELI you can use different parser generators, namely COLA or PGS. By default ELI uses the PGS parser generator. In order to specify the COLA parser, add an option after the `.specs'-filename in the ELI derivation command. For example, you can write
myfile.specs +parser='cola' :source > src
if you want to use the COLA-Parser-Generator. If you use COLA as your parser generator, you can modify the behavior of COLA by specifing options in a `.cola'-file. Seperate the options with white space. (e.g. put every option in one line by itself.) You can add comments using C-style-comments or AWK-Comments. Add this filename to your `.specs'-file. That's all.
In the next section all the options that can be used in that file will be described.
A derivation of `:parsable' will produce the complete state tables. Default is, that COLA generates only information whether the grammar is LALR(1) or not. If it is not, COLA will print the conflict states. Switching this option on will get you information on all the states with all productions and symbols of the grammar.
Switching on this option gives you additional information about free positions in the grammar. This information can be used for parse time evaluation. Free positions in a grammer can be filled with connections without destroying the LALR(1)-property.
For the current installation of Cola this option has no effect.
With this option you can specify if the parser should continue or stop after a syntax error. This option is turned on by default. (meaning that the parser should continue after a syntax error)
If you enable this option, a derivation of `:colaOptInfo' in ELI will contain the optimisation results from the COLA backend. By default, this option is switched off. TTAB <mode>
This option has effect on the optimisation of the parser tables. Please refer to Optimization of Parser Tables for Portable Compilers, P.Denker, K.Duerre and J.Heuft, TOPLAS 6(4), Page 564-572, 1984. `mode' can be one of the following:
Analoguous to the terminal table this option effects the nonterminal table. `mode' can have the same values as above.