Question: Here's part a complete for reference: Given the following grammar for a subset of Java: Prog -> MoreClasses MainClass MainClass finalt classt idt { publict


Here's part a complete for reference:
![{ publict statict voidt main (String [] idt) { SeqofStats MoreClasses ClassDecl](https://dsd5zvtm8ll6.cloudfront.net/si.experts.images/questions/2024/09/66f3e331cd977_44166f3e33168b8f.jpg)
Given the following grammar for a subset of Java: Prog -> MoreClasses MainClass MainClass finalt classt idt { publict statict voidt main (String [] idt) { SeqofStats MoreClasses ClassDecl MoreClasses ClassDecl class idt VarDecl MethodDecl} | class idt extendst idt Var Decl MethodDecl } VarDecl Type IdentifierList; VarDecl | finalt Type idt = numt; VarDecl| IdentifierList -> idt IdentifierList , idt Type intt | booleant voidt MethodDecl -> publict Type idt (FormalList) { VarDecl SeqOfStats returnt Expr; } MethodDecl FormalList Type idt FormalRest | FormalRest -> Type idt FormalRest | E SeqOfStatments-> Expr Draw parse trees for the following programs (PLEASE UNDERLINE ALL TOKENS): a) final class Main { public static void main(String [] args) { b) class Two { int a; boolean b; final class Main { public static void main(String [] args) { class Two { int a; public int sum (int num) { return; } final class Main { public static void main(String[] args) { Assign #2 More classes dan Class fult classt idt E publect static void A maint strugt c ] idt i { sos }} Given the following grammar for a subset of Java: Prog -> MoreClasses MainClass MainClass finalt classt idt { publict statict voidt main (String [] idt) { SeqofStats MoreClasses ClassDecl MoreClasses ClassDecl class idt VarDecl MethodDecl} | class idt extendst idt Var Decl MethodDecl } VarDecl Type IdentifierList; VarDecl | finalt Type idt = numt; VarDecl| IdentifierList -> idt IdentifierList , idt Type intt | booleant voidt MethodDecl -> publict Type idt (FormalList) { VarDecl SeqOfStats returnt Expr; } MethodDecl FormalList Type idt FormalRest | FormalRest -> Type idt FormalRest | E SeqOfStatments-> Expr Draw parse trees for the following programs (PLEASE UNDERLINE ALL TOKENS): a) final class Main { public static void main(String [] args) { b) class Two { int a; boolean b; final class Main { public static void main(String [] args) { class Two { int a; public int sum (int num) { return; } final class Main { public static void main(String[] args) { Assign #2 More classes dan Class fult classt idt E publect static void A maint strugt c ] idt i { sos }}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
