3.1 Parser code
Semantic parsing code is spread across a range of files.
- semantic.el
- The core infrastructure sets up buffers for parsing, and has all the
core parsing routines. Most parsing routines are overloadable, so the
actual implementation may be somewhere else.
- semantic-edit.el
- Incremental reparse based on user edits.
- semantic-grammar.el
- semantic-grammar.wy
- Parser for the different grammar languages, and a major mode for
editing grammars in Emacs.
- semantic-lex.el
- Infrastructure for implementing lexical analyzers. Provides macros
for creating individual analyzers for specific features, and a way to
combine them together.
- semantic-lex-spp.el
- Infrastructure for a lexical symbolic preprocessor. This was written
to implement the C preprocessor, but could be used for other lexical
preprocessors.
- bovine/bovine-grammar.el
- bovine/bovine-grammar-macros.el
- bovine/semantic-bovine.el
- The “bovine” grammar. This is the first grammar mode written for
Semantic and is useful for simple creating simple parsers.
- wisent/wisent.el
- wisent/bison-wisent.el
- wisent/semantic-wisent.el
- wisent/semantic-debug-grammar.el
- A port of bison to Emacs. This infrastructure lets you create LALR
based parsers for Semantic.
- semantic-ast.el
- Manage Abstract Syntax Trees for parsers.
- semantic-debug.el
- Infrastructure for debugging grammars.
- semantic-util.el
- Various utilities for manipulating tags, such as describing the tag
under point, adding labels, and the all important
semantic-something-to-tag-table.