(For readers with some familiarity with formal language theory or compiler const

(For readers with some familiarity with formal language theory or compiler construction.) It is well known that classical BNF defines programming languages only partially. For instance, the usual rule that variable identifiers can be used only if previously declared can-not be expressed by means of the BNF notation. Augment the criterion of syntax-driven testing in such a way that both correct and incorrect sentences with respect to non-BNF rules may be considered possible test cases. Notice that, in practice, such rules are given informally. The reader may refer to the specialized literature to find sample formalizations of these and other aspects of programming language definitions.

You may also like