NorKen Technologies, Inc.
ProGrammar provides an object-oriented grammar definition language based on Backus Naur Form (BNF) and regular expressions.

Home Page of NorKen Technologies, Inc. Information About NorKen Technologies, Inc. Information About NorKen Technologies' Products Information About NorKen Technologies' Services Information About Ordering NorKen Technologies' Products How to Contact NorKen Technologies


FAQs



Free Trial

Order



Downloads

Grammars









































ProGrammar Developers Toolkit

How ProGrammar extends BNF

ProGrammar Grammar Definition Language (GDL) is a high-level language that expresses the structure of data.

GDL is based on Backus-Naur Form (BNF), a popular notation for describing the syntaxes of many programming languages. Because BNF is intended to describe syntax in a way that is easily understood, it tends to be informal and many variations of the notation are in use. Also, because BNF postpones the "implementation details" until development time, the task of building a production-quality parser from its BNF description can be tedious and error-prone. To address these issues, ProGrammar GDL makes a number of extensions to BNF, which result in a language that is formal enough and practical enough to generate executable parsers, yet one that remains intuitive and easy to use. These extensions are summarized below:

GDL is object-oriented, introducing the keywords "grammar" and "extends" to the notation. A grammar encapsulates a group of related symbols as a single named entity, which can then be re-used by other grammars. The extends keyword allows grammars to inherit symbols from other grammars.
GDL supports many high-level constructs that can significantly reduce the size and complexity of large grammars. These include repeaters, wildcards, length quantifiers, and a negation operator.
GDL allows regular expressions and other lexical expressions to be declared directly within the grammar production rules. ProGrammar makes no hard distinction between "lexical analysis" and "parsing", but rather uses a common notation for both.
GDL provides predefined terminal types for commonly used tokens; including "alpha", "alphanumeric" and "identifier".
GDL uses symbol attributes to support advanced whitespace handling, application-defined (external) symbols, and to control how the parse tree is built during the parse.
GDL is an executable language, in that it doesn't have to be converted to some other programming language before it can be built and tested. GDL is fully supported by the ProGrammar IDE, which allows grammar definitions to be run, tested and debugged within a feature-rich development environment.


Click here to return to the ProGrammar Homepage



What is a parser?

What is BNF?

How do I build a parser using ProGrammar?

What grammars are available?

Which platforms are supported?

Feature Index

Overview of ProGrammar
ProGrammar IDE
Grammar Definition Language
Integration and Architecture
Example Grammars
Ready-to-use Parsers
Pricing and Licensing Terms






















For comments or questions about this site, please contact
webmaster@programmar.com
Copyright © 1998-2008 NorKen Technologies, Inc. All rights reserved.