Skip to content

foreverman/dhaka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 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.

About

a ruby1.9 compatible version of dhaka

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages