See:
          Description

Abstraction
org.inxar.syntacs.analyzer Declares interfaces which are either common or relevant to both lexical and syntactic analyzers.
org.inxar.syntacs.analyzer.lexical Declares interfaces which model objects used in lexical analysis.
org.inxar.syntacs.analyzer.syntactic Declares interfaces which model objects used in syntax analysis.
org.inxar.syntacs.automaton.finite Declares interfaces which model and support deterministic finite automata.
org.inxar.syntacs.automaton.pushdown Declares interfaces which model and support pushdown automata used in shift-reduce parsing.
org.inxar.syntacs.grammar Declares interfaces which are common to both regular and context free grammars.
org.inxar.syntacs.grammar.context_free Declares interfaces which model context-free grammars.
org.inxar.syntacs.grammar.regular Declares interfaces which model regular-expression based grammars.
org.inxar.syntacs.translator Declares interfaces which abstract the lexing and parsing processes into a single translation process.
org.inxar.syntacs.translator.lr Declares interfaces specific to LR translation.
org.inxar.syntacs.util Declares interfaces which model basic and or fundamental abstract data types used throughout the translation process.

 
Implementation
com.inxar.syntacs Contains the command-line front-ends to the Syntacs Translation Toolkit (STT) for compiling, running, and testing.
com.inxar.syntacs.analyzer Defines classes which support lexical and syntactic analysis.
com.inxar.syntacs.analyzer.lexical Defines classes which implement the lexical analyzer interfaces.
com.inxar.syntacs.analyzer.syntactic Defines classes which implement the syntax analyzer interfaces.
com.inxar.syntacs.automaton.finite Defines classes which implement determinitic finite automata and their construction.
com.inxar.syntacs.automaton.pushdown Defines classes which implement pushdown automata and their construction.
com.inxar.syntacs.grammar.context_free Defines classes which implement context-free grammars.
com.inxar.syntacs.grammar.regular Defines classes which implement regular-expression based grammars.
com.inxar.syntacs.translator Defines classes which implement several components used during the translation process.
com.inxar.syntacs.translator.lr Defines classes which implement LR-specific translation machinery.
com.inxar.syntacs.translator.regexp Defines classes which implement a Translator for regular expressions.
com.inxar.syntacs.translator.syntacs Defines classes which implement a Translator for the syntacs grammar itself.
com.inxar.syntacs.translator.test Defines classes which implement translators for several test grammars.
com.inxar.syntacs.util Defines classes and utilities which implement fundamental abstract data types.

 

This is the Syntacs Translation Toolkit (STT), yet another member of the Yet Another family of compiler generator tools. The STT was borne out of a general desire to understand lexical and syntactic analysis; perhaps it may even be of utility to others... It does:

The STT has some sporty features: One feature is that an STT grammar file does not contain semantic actions (no code). Rather, a separate component is implemented by the grammar author which is responsible for responding to lexical and syntactic events to do the actual abstract syntax tree construction. Therefore, the STT has a minimalist philosophy of only trying to automate that which is easily automatable.

The STT is too early to recommend for production work but it's quite cool, has a nice modular design, and has good support visualization of internal structures; it's immediately useful for educational use and for algorithm experimentation.

Homepage

http://www.inxar.org/syntacs

License

GPL

Download

The highest-numbered release whose final digit is an even-number is the current recommended distribution.

http://www.inxar.org/download

Installation

Unpack the archive; make sure the syntacs.jar, jenesis.jar, and xerces.jar are included in the classpath. You can substitute Sun's XML-TR2, Crimson, or JAXP parser in lieu of Xerces if you like.

Documentation

Contact

It's nice to have feedback on your work: if you have an idea, suggestion, criticism, bug report, or bigfix, please send me an email: pcj@inxar.org.

Enjoy,
  - Paul