Go to the first, previous, next, last section, table of contents.


Properties

Properties are used to pass variables to the grammar processor; they do not affect the language itself, but assist in the generation process.

General properties

verbose
A boolean value that, if "true", will write verbose messages to the log.

Run-time properties

run-error-limit
A number that, if defined, places a ceiling on the number of errors that can occur during a translation before aborting.
run-lexer-debug
A boolean value that, if "true", will signal the Lexer to output debugging messages to the log.
run-parser-debug
A boolean value that, if "true", will signal the Parser to output debugging messages to the log.
run-interpreter-debug
A boolean value that, if "true", will signal the LRTranslatorInterpreter to output debugging messages to the log.
run-print-parse-tree
A boolean value that, if "true", will signal the com.inxar.syntacs.Run class to printout the parse tree.

Compile-time properties that should be in every grammar

author
A string that names the author or authors of the grammar.
author-email
A string that names the email address/addresses of the author/authors.
copyright
A string that will be included in generated files. Defaults to "Copyright $YEAR $AUTHOR, $AUTHOR_EMAIL".
compile-namespace
A string that names the package membership for the generated classes. Example: "com.inxar.syntacs.translator.test".
compile-sourcepath
A string that names the filesystem directory where the generated classes should be written. Example: "./src".
compile-dpa-constructor-method
A string that names the strength of the algorithm used to generate the DPA (the parse tables). Can be one of lalr1, lr1, slr1. The default is lalr1, so this property is NOT NECESSARY for those grammars that choose LALR1.
compile-interpreter-classname
A string that names the class to be used by the generated translator. Example: "com.inxar.syntacs.translator.regexp.RegexpInterpreter". This is the thing you have to implement for your grammar. The default value is "com.inxar.syntacs.translator.lr.StandardLRInterpreter", which builds a concrete syntax tree and is useful for testing.

Compile-time properties that affect class generation (development use)

compile
A boolean value that, if "false", will prevent any implementation classes from being generated and written to the filesystem.
compile-lexical
A boolean value that, if "false", will prevent any lexical analysis classes from being generated and written to the filesystem.
compile-syntactic
A boolean value that, if "false", will prevent the syntax analysis classes from being generated and written to the filesystem.
compile-grammar
A boolean value that, if "false", will prevent the LRTranslatorGrammar class from being generated and written to the filesystem.
compile-pickle
A boolean value that, if "false", will prevent classes from using an int array packing technique called "pickling" (decreases bytecode size). The code seems stable, so this should not be needed.
compile-pickle-dfa
A boolean value that, if "false", will prevent pickling of generated DFA classes.
compile-pickle-dpa
A boolean value that, if "false", will prevent pickling of generated DPA classes.

Compile-time properties that customize the translation components

compile-input-classname
A string that names the class which implements Input that will be used by the generated translator at run-time.
compile-lexer-classname
A string that names the class which implements Lexer that will be used by the generated translator at run-time.
compile-parser-classname
A string that names the class which implements Parser that will be used by the generated translator at run-time.
compile-interpreter-classname
A string that names the class which implements LRTranslatorInterpreter that will be used by the generated translator at run-time.
compile-dpa-constructor-classname
A string that names the class which implements DPAConstructor that will be used by the grammar compiler at compile-time to construct a DPA.

Compile-time debugging properties

compile-grammar-regular-debug
A boolean value that, if "true", will printout the regular grammars.
compile-grammar-context-free-debug
A boolean value that, if "true", will printout the context-free grammar.
compile-dfa-debug
A boolean value that, if "true", will printout the grammar DFAs.
compile-dpa-debug
A boolean value that, if "true", will printout the grammar DPA.

Compile-time properties that control GraphViz output

viz
A boolean value that, if "false", will prevent any generation of GraphViz dot files.
viz-lexical
A boolean value that, if "true", will generate graphviz .dot files for DFA instances.
viz-syntactic
A boolean value that, if "true", will generate graphviz .dot files for DPA instances.
viz-namespace
A string that names the package membership for the generated dot files. Defaults to value of `compile-namespace'.
viz-sourcepath
A string that names the filesystem directory where the generated dot files should be written. Defaults to value of `compile-sourcepath'.
viz-dfa-size
A string that names the size of the postscript bounding box for the DPA graph (see graphviz manual).
viz-dfa-rankdir
A string that names the rank direction of the DFA graph (see graphviz manual).
viz-dfa-concentrate-edges
A boolean that, if "true", will heuristically merge edges when appropriate (see graphviz manual).
viz-dfa-node-color
A string that controls the color of the DFA nodes (see graphviz manual).
viz-dfa-node-shape
A string that controls the shape of the DFA nodes (see graphviz manual).
viz-dfa-edge-color
A string that controls the color of the DFA edges (see graphviz manual).
viz-dfa-edge-style
A string that controls the style of the DFA edges (see graphviz manual).
viz-dfa-label-edge-color
A string that controls the color of the DFA label edges (see graphviz manual).
viz-dfa-label-edge-style
A string that controls the style of the DFA label edges (see graphviz manual).
viz-dpa-size
A string that names the size of the postscript bounding box for the DPA graph (see graphviz manual).
viz-dpa-rankdir
A string that names the rank direction of the DPA graph (see graphviz manual).
viz-dpa-concentrate-edges
A boolean that, if "true", will heuristically merge edges when appropriate (see graphviz manual).
viz-dpa-node-color
A string that controls the color of the DPA nodes (see graphviz manual).
viz-dpa-node-shape
A string that controls the shape of the DPA nodes (see graphviz manual).
viz-dpa-hide-terminal-edges
A boolean that, if "true", will prevent visualization of terminal transitions.
viz-dpa-terminal-edge-color
A string that controls the color of the DPA terminal edges (see graphviz manual).
viz-dpa-terminal-edge-style
A string that controls the style of the DPA terminal edges (see graphviz manual).
viz-dpa-hide-nonterminal-edges
A boolean that, if "true", will prevent visualization of nonterminal transitions.
viz-dpa-terminal-edge-color
A string that controls the color of the DPA nonterminal edges (see graphviz manual).
viz-dpa-terminal-edge-style
A string that controls the style of the DPA nonterminal edges (see graphviz manual).
viz-dpa-hide-loopback-edges
A boolean that, if "true", will prevent visualization of loopback edges (closely related to reductions).
viz-dpa-loopback-edge-color
A string that controls the color of the DPA loopback edges (see graphviz manual).
viz-dpa-loopback-edge-style
A string that controls the style of the DPA loopback edges (see graphviz manual).

A perusal of the source code might uncover undocumented properties.


Go to the first, previous, next, last section, table of contents.