Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider a fictitious programming language containing only two numerical types (integer and real), in which arbitrarily long (possibly empty) 1-dimensional arrays of numbers are declared,

Consider a fictitious programming language containing only two numerical types (integer and real), in which arbitrarily long (possibly empty) 1-dimensional arrays of numbers are declared, instantiated, and initialized in a single statement, two of which are given below:

integer[] numbers = { 1, 5, 7, 9, 10 };

real[] reals = { 2.0, 3.35, 1.24, 54.145, -4.9 };

Write an EBNF grammar with as its start symbol that can generate all and only the syntactically correct array declarations of this form. Instead of creating rules to generate the set of all possible identifiers (variable names), integer constants, and floating point constants, your grammar must refer to the non-terminals , , and , which can be assumed to be already defined elsewhere. (To think about: Why does it make sense for these non-terminals to be defined in another grammar, or in a distinct part of the grammar?) For full credit, you MUST use EBNF extensions WHENEVER possible to minimize the number of productions in your grammar.

Copy and pasting will be a down vote as it is probably not the right answer.

Grammar must be in EBNF not BNF. If it is in BNF I will down vote.

BNF is another language similar to EBNF for the person who commented BNF and said it needs more info. This is all the information that is given

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Students also viewed these Databases questions