Question: regular grammar for this code : public class RecursiveDescentParser { private String input; private int index; private char inputSymbol; public RecursiveDescentParser ( String input )
regular grammar for this code :
public class RecursiveDescentParser
private String input;
private int index;
private char inputSymbol;
public RecursiveDescentParserString input
this.input input;
this.index ;
this.inputSymbol input.charAtindex;
private void nextToken
index;
if index input.length
inputSymbol input.charAtindex;
else
inputSymbol ;
private void expectedchar token
if inputSymbol token
nextToken;
else
throwErrorUnexpected symbol: inputSymbol;
private void throwErrorString errorMessage
throw new RuntimeExceptionParsing error: errorMessage;
E TE
public void parseE
parseT;
parseEPrime;
ETETE
private void parseEPrime
if inputSymbol
expected;
parseT;
parseEPrime;
else if inputSymbol
expected;
parseT;
parseEPrime;
T FT
private void parseT
parseF;
parseTPrime;
TFTFT
private void parseTPrime
if inputSymbol
expected;
parseF;
parseTPrime;
else if inputSymbol
expected;
parseF;
parseTPrime;
F E id
private void parseF
if CharacterisDigitinputSymbol Check if it's a digit
parseNumber;
else if inputSymbol
expected;
parseE;
if inputSymbol
expected;
else
throwError expected";
else
throwErrorUnexpected symbol: inputSymbol;
Method to parse a number
private void parseNumber
while CharacterisDigitinputSymbol
nextToken;
public static void mainString args
String input;
String input;
RecursiveDescentParser parser new RecursiveDescentParserinput;
RecursiveDescentParser parser new RecursiveDescentParserinput;
try
parserparseE;
System.out.printlnParser is successful!";
catch RuntimeException e
System.out.printlnegetMessage;
try
parserparseE;
System.out.println and Parser is successful!";
catch RuntimeException e
System.out.printlnegetMessage;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
