Next
Previous
Contents
MSTA is syntax description translator analogous to YACC. Although
MSTA can fully emulate YACC, MSTA is aimed to solve some drawbacks of
YACC. Therefore MSTA has the following additional features:
- Fast LR(k) and LALR(k) grammars (with possibility resolution of
conflicts). Look ahead of only necessary depth (not necessary
given k). Originally LALR(k) parsers are generated by modified
fast DeRemer's algorithm. Parsers generated by MSTA are up to 50%
faster than ones generated by BISON and BYACC but usually have
bigger size.
- Extended Backus-Naur Form (EBNF), and constructions for more
convenient description of the scanners. More convenient
naming attributes.
- Optimizations (extracting LALR- and regular parts of grammars and
implementing parsing them by adequate methods) which permit to
use MSTA for generation of effective lexical analyzers. As
consequence MSTA permits to describe easily (by CFG) scanners
which can not be described by regular expressions (i.e. nested
comments).
- More safe error recovery and reporting (the 1st additional
error recovery method besides error recovery method of YACC).
- A minimal error recovery and reporting (the 2nd additional
error recovery method besides error recovery method of YACC).
- Fast generation of fast parsers.
Next
Previous
Contents