|Meta-S 4.0 Released email@example.com (Quinn Tyler Jackson) (2003-02-06)|
|From:||Quinn Tyler Jackson <firstname.lastname@example.org>|
|Date:||6 Feb 2003 00:13:11 -0500|
|Keywords:||parse, tools, available|
|Posted-Date:||06 Feb 2003 00:13:11 EST|
Jackson Solutions is happy to announce the release of version 4.0 of
the Meta-S Grammar Development System.
Meta-S is a visual grammar development system that allows you to
iteratively design, develop, and test grammars just as you would write
a program. Once you are confident that a grammar is behaving
correctly, you generate a portable C++ parser class that represents a
grammar that behaves exactly as in the IDE.
# Meta-S grammars are:
* Type 0 adaptive
Grammars that contain both predicates and binding can emulate an
infinite tape Turing Machine.
Grammars are compiled at run time, thus allowing for dynamic
changes to the grammar, or loading from text sources.
# Meta-S grammars allow you to, without external code:
* build parse trees and symbol tables
R ::= "DECLARE" ## $d.v<-(id) ## "AS" ## $(d.v).dt<-(type);
The above example adds id to the declared variables table, and
remembers the declared variable's data type.
* effect sophisticated semantic checking
R ::= "FOR" ## ($v(id)<v=d.v>)<(v).dt=numeric_type> ## "=" ...
The above example verifies that the variable in a BASIC-type FOR
statement has been previously declared, and that it is a numeric_type
before continuing with the parse.
* generate custom errors
R ::= "FOR" ## ($v(id)<v=d.v /"undeclared variable"/>) ...
The above example generates the run-time parsing error "undeclared
variable" if the variable referenced in the FOR statement has not been
# Using the integrated profiler, you can:
* test grammar efficiency without writing code
Characters/Sec., Lines/Sec., Ticks/Hit, Ticks/Miss
* guarantee production coverage against test data
View how many times each production hits and misses.
# Some of the example grammars included with version 4.0:
* C++ (this grammar is still experimental)
* C# (conforms to published Microsoft C# specification)
* HTML/XML (grammar adapts to the stricter rules of XML based upon
* Examples of classically context-sensitive languages such as:
- a^n b^n c^n
- a^n b^m c^n d^m (cross agreement)
- a^n b^m c^mn
- w w (redoubling, ie. dogdog or catcat)
For more information, visit:
Quinn Tyler Jackson
Return to the
Search the comp.compilers archives again.