What does this notation mean anyway? Interpreting BNF-style notation as it is used in practice

Abstract

BNF (Backus Naur Form) notation, as introduced in the Algol 60 report, was followed by numerous notational variants (EBNF ISO (1996), ABNF Crocker et al. (2008), etc.), and later by a new metalanguage which is used for discussing structured objects in Computer Science and Mathematical Logic. We call this latter offspring of BNF MBNF (Math BNF). MBNF is sometimes called “abstract syntax”. MBNF can express structured objects that cannot be serialised as finite strings. What MBNF and other BNF variants share is the use of production rules, whose form is given below, which state that “every instance of ◦i for i ∈ {1, . . . , n} is also an instance of •”. • ::= ◦1 | · · · | ◦n This thesis studies BNF and its variant forms and contrasts them with MBNF production rules. We show via a series of detailed examples and lemmas that MBNF, differs substantially from BNF and its variants in how it is written, the operations it allows, and the sets of entities it defines. We demonstrate with an example and a proof that MBNF has features that, when combined, could make MBNF rule sets inconsistent. Readers do not have a document which tells them how to read MBNF and have to learn MBNF through a process of cultural initiation. We propose a framework, MathSyn, that handles most uses of MBNF one might encounter in the wild

Similar works

Full text

thumbnail-image

ROS: The Research Output Service. Heriot-Watt University Edinburgh

redirect
Last time updated on 05/02/2024

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.