Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
# An introduction to Dhaka and annotated examples can be found at the project homepage http://dhaka.rubyforge.org. # For more examples, please look at the tests included in the gem. # # When developing lexer specifications and grammars, <tt>require 'dhaka'</tt>. When # using compiled lexers and parsers, e.g. in a production situation, # <tt>require 'dhaka/runtime'</tt>. This loads a stripped-down version of the gem that # is the bare-minimum required to run compiled state-machines. # # The following abstract base classes comprise the core of Dhaka: # = Dhaka::Grammar # Encodes production rules and precedences. Used by Dhaka::Parser to generate a new parser. # = Dhaka::Tokenizer # Provides a DSL for writing hand-coded tokenizers. Processes an input string and returns an Enumerable of tokens, # meant for consumption by a Dhaka::Parser or a Dhaka::CompiledParser. # = Dhaka::LexerSpecification # Use this to specify regular expression patterns and actions for the various types of tokens in the language. Used by Dhaka::Lexer # to generate a lexer for a language. # = Dhaka::Evaluator # Encodes evaluation rules for performing syntax-directed translation. Accepts a parse-tree generated by a Dhaka::Parser or # Dhaka::CompiledParser and recursively evaluates it.