// This file is automatically generated by DemeterJ. CopyVisitor { {{ private java.util.Stack history = new java.util.Stack(); public CopyVisitor(Class firstClass) { try { history.push(firstClass.newInstance()); } catch(Exception e) { e.printStackTrace(); } } }} get copy {{ return history.peek(); }} return Object {{ get_copy() }} before -> CompilationUnit, packagedeclaration, PackageDeclaration {{ CompilationUnit it = (CompilationUnit) history.peek(); PackageDeclaration p = new PackageDeclaration(); it.set_packagedeclaration(p); history.push(p); }} after -> CompilationUnit, packagedeclaration, PackageDeclaration {{ history.pop(); }} before -> CompilationUnit, importdeclarations, ImportDeclarations {{ CompilationUnit it = (CompilationUnit) history.peek(); ImportDeclarations p = new ImportDeclarations(); it.set_importdeclarations(p); history.push(p); }} after -> CompilationUnit, importdeclarations, ImportDeclarations {{ history.pop(); }} before -> CompilationUnit, typedeclarations, TypeDeclarations {{ CompilationUnit it = (CompilationUnit) history.peek(); TypeDeclarations p = new TypeDeclarations(); it.set_typedeclarations(p); history.push(p); }} after -> CompilationUnit, typedeclarations, TypeDeclarations {{ history.pop(); }} before -> PackageDeclaration, name, Name {{ PackageDeclaration it = (PackageDeclaration) history.peek(); Name p = new Name(); it.set_name(p); history.push(p); }} after -> PackageDeclaration, name, Name {{ history.pop(); }} before -> ImportDeclarations, first, Nonempty_ImportDeclarations {{ ImportDeclarations it = (ImportDeclarations) history.peek(); Nonempty_ImportDeclarations p = new Nonempty_ImportDeclarations(); it.set_first(p); history.push(p); }} after -> ImportDeclarations, first, Nonempty_ImportDeclarations {{ history.pop(); }} before -> ImportDeclaration, name, Name {{ ImportDeclaration it = (ImportDeclaration) history.peek(); Name p = new Name(); it.set_name(p); history.push(p); }} after -> ImportDeclaration, name, Name {{ history.pop(); }} before -> ImportDeclaration, dotstar, DotStar {{ ImportDeclaration it = (ImportDeclaration) history.peek(); DotStar p = new DotStar(); it.set_dotstar(p); history.push(p); }} after -> ImportDeclaration, dotstar, DotStar {{ history.pop(); }} before -> TypeDeclarations, first, Nonempty_TypeDeclarations {{ TypeDeclarations it = (TypeDeclarations) history.peek(); Nonempty_TypeDeclarations p = new Nonempty_TypeDeclarations(); it.set_first(p); history.push(p); }} after -> TypeDeclarations, first, Nonempty_TypeDeclarations {{ history.pop(); }} before -> SemiColonTD, semicolon, SemiColon {{ SemiColonTD it = (SemiColonTD) history.peek(); SemiColon p = new SemiColon(); it.set_semicolon(p); history.push(p); }} after -> SemiColonTD, semicolon, SemiColon {{ history.pop(); }} before -> ClassDeclaration, classmodifiers, ClassModifiers {{ ClassDeclaration it = (ClassDeclaration) history.peek(); ClassModifiers p = new ClassModifiers(); it.set_classmodifiers(p); history.push(p); }} after -> ClassDeclaration, classmodifiers, ClassModifiers {{ history.pop(); }} before -> ClassDeclaration, unmodifiedclassdeclaration, UnmodifiedClassDeclaration {{ ClassDeclaration it = (ClassDeclaration) history.peek(); UnmodifiedClassDeclaration p = new UnmodifiedClassDeclaration(); it.set_unmodifiedclassdeclaration(p); history.push(p); }} after -> ClassDeclaration, unmodifiedclassdeclaration, UnmodifiedClassDeclaration {{ history.pop(); }} before -> ClassModifiers, first, Nonempty_ClassModifiers {{ ClassModifiers it = (ClassModifiers) history.peek(); Nonempty_ClassModifiers p = new Nonempty_ClassModifiers(); it.set_first(p); history.push(p); }} after -> ClassModifiers, first, Nonempty_ClassModifiers {{ history.pop(); }} before -> CM_Abstract, cabstract, CAbstract {{ CM_Abstract it = (CM_Abstract) history.peek(); CAbstract p = new CAbstract(); it.set_cabstract(p); history.push(p); }} after -> CM_Abstract, cabstract, CAbstract {{ history.pop(); }} before -> CM_Final, cfinal, CFinal {{ CM_Final it = (CM_Final) history.peek(); CFinal p = new CFinal(); it.set_cfinal(p); history.push(p); }} after -> CM_Final, cfinal, CFinal {{ history.pop(); }} before -> CM_Public, cpublic, CPublic {{ CM_Public it = (CM_Public) history.peek(); CPublic p = new CPublic(); it.set_cpublic(p); history.push(p); }} after -> CM_Public, cpublic, CPublic {{ history.pop(); }} before -> UnmodifiedClassDeclaration, ident, Ident {{ UnmodifiedClassDeclaration it = (UnmodifiedClassDeclaration) history.peek(); it.set_ident(dest); }} before -> UnmodifiedClassDeclaration, name, Name {{ UnmodifiedClassDeclaration it = (UnmodifiedClassDeclaration) history.peek(); Name p = new Name(); it.set_name(p); history.push(p); }} after -> UnmodifiedClassDeclaration, name, Name {{ history.pop(); }} before -> UnmodifiedClassDeclaration, namelist, NameList {{ UnmodifiedClassDeclaration it = (UnmodifiedClassDeclaration) history.peek(); NameList p = new NameList(); it.set_namelist(p); history.push(p); }} after -> UnmodifiedClassDeclaration, namelist, NameList {{ history.pop(); }} before -> UnmodifiedClassDeclaration, classbody, ClassBody {{ UnmodifiedClassDeclaration it = (UnmodifiedClassDeclaration) history.peek(); ClassBody p = new ClassBody(); it.set_classbody(p); history.push(p); }} after -> UnmodifiedClassDeclaration, classbody, ClassBody {{ history.pop(); }} before -> ClassBody, classbodydeclarations, ClassBodyDeclarations {{ ClassBody it = (ClassBody) history.peek(); ClassBodyDeclarations p = new ClassBodyDeclarations(); it.set_classbodydeclarations(p); history.push(p); }} after -> ClassBody, classbodydeclarations, ClassBodyDeclarations {{ history.pop(); }} before -> ClassBodyDeclarations, first, Nonempty_ClassBodyDeclarations {{ ClassBodyDeclarations it = (ClassBodyDeclarations) history.peek(); Nonempty_ClassBodyDeclarations p = new Nonempty_ClassBodyDeclarations(); it.set_first(p); history.push(p); }} after -> ClassBodyDeclarations, first, Nonempty_ClassBodyDeclarations {{ history.pop(); }} before -> NestedClassDeclaration, nestedclassmodifiers, NestedClassModifiers {{ NestedClassDeclaration it = (NestedClassDeclaration) history.peek(); NestedClassModifiers p = new NestedClassModifiers(); it.set_nestedclassmodifiers(p); history.push(p); }} after -> NestedClassDeclaration, nestedclassmodifiers, NestedClassModifiers {{ history.pop(); }} before -> NestedClassDeclaration, unmodifiedclassdeclaration, UnmodifiedClassDeclaration {{ NestedClassDeclaration it = (NestedClassDeclaration) history.peek(); UnmodifiedClassDeclaration p = new UnmodifiedClassDeclaration(); it.set_unmodifiedclassdeclaration(p); history.push(p); }} after -> NestedClassDeclaration, unmodifiedclassdeclaration, UnmodifiedClassDeclaration {{ history.pop(); }} before -> NestedClassModifiers, first, Nonempty_NestedClassModifiers {{ NestedClassModifiers it = (NestedClassModifiers) history.peek(); Nonempty_NestedClassModifiers p = new Nonempty_NestedClassModifiers(); it.set_first(p); history.push(p); }} after -> NestedClassModifiers, first, Nonempty_NestedClassModifiers {{ history.pop(); }} before -> NCM_Static, cstatic, CStatic {{ NCM_Static it = (NCM_Static) history.peek(); CStatic p = new CStatic(); it.set_cstatic(p); history.push(p); }} after -> NCM_Static, cstatic, CStatic {{ history.pop(); }} before -> NCM_Abstract, cabstract, CAbstract {{ NCM_Abstract it = (NCM_Abstract) history.peek(); CAbstract p = new CAbstract(); it.set_cabstract(p); history.push(p); }} after -> NCM_Abstract, cabstract, CAbstract {{ history.pop(); }} before -> NCM_Final, cfinal, CFinal {{ NCM_Final it = (NCM_Final) history.peek(); CFinal p = new CFinal(); it.set_cfinal(p); history.push(p); }} after -> NCM_Final, cfinal, CFinal {{ history.pop(); }} before -> NCM_Public, cpublic, CPublic {{ NCM_Public it = (NCM_Public) history.peek(); CPublic p = new CPublic(); it.set_cpublic(p); history.push(p); }} after -> NCM_Public, cpublic, CPublic {{ history.pop(); }} before -> NCM_Protected, cprotected, CProtected {{ NCM_Protected it = (NCM_Protected) history.peek(); CProtected p = new CProtected(); it.set_cprotected(p); history.push(p); }} after -> NCM_Protected, cprotected, CProtected {{ history.pop(); }} before -> NCM_Private, cprivate, CPrivate {{ NCM_Private it = (NCM_Private) history.peek(); CPrivate p = new CPrivate(); it.set_cprivate(p); history.push(p); }} after -> NCM_Private, cprivate, CPrivate {{ history.pop(); }} before -> CBD_NestedClassDeclaration, nestedclassdeclaration, NestedClassDeclaration {{ CBD_NestedClassDeclaration it = (CBD_NestedClassDeclaration) history.peek(); NestedClassDeclaration p = new NestedClassDeclaration(); it.set_nestedclassdeclaration(p); history.push(p); }} after -> CBD_NestedClassDeclaration, nestedclassdeclaration, NestedClassDeclaration {{ history.pop(); }} before -> CBD_NestedInterfaceDeclaration, nestedinterfacedeclaration, NestedInterfaceDeclaration {{ CBD_NestedInterfaceDeclaration it = (CBD_NestedInterfaceDeclaration) history.peek(); NestedInterfaceDeclaration p = new NestedInterfaceDeclaration(); it.set_nestedinterfacedeclaration(p); history.push(p); }} after -> CBD_NestedInterfaceDeclaration, nestedinterfacedeclaration, NestedInterfaceDeclaration {{ history.pop(); }} before -> CBD_MethodDeclaration, methoddeclaration, MethodDeclaration {{ CBD_MethodDeclaration it = (CBD_MethodDeclaration) history.peek(); MethodDeclaration p = new MethodDeclaration(); it.set_methoddeclaration(p); history.push(p); }} after -> CBD_MethodDeclaration, methoddeclaration, MethodDeclaration {{ history.pop(); }} before -> CBD_FieldDeclaration, fielddeclaration, FieldDeclaration {{ CBD_FieldDeclaration it = (CBD_FieldDeclaration) history.peek(); FieldDeclaration p = new FieldDeclaration(); it.set_fielddeclaration(p); history.push(p); }} after -> CBD_FieldDeclaration, fielddeclaration, FieldDeclaration {{ history.pop(); }} before -> InterfaceDeclaration, interfacemodifiers, InterfaceModifiers {{ InterfaceDeclaration it = (InterfaceDeclaration) history.peek(); InterfaceModifiers p = new InterfaceModifiers(); it.set_interfacemodifiers(p); history.push(p); }} after -> InterfaceDeclaration, interfacemodifiers, InterfaceModifiers {{ history.pop(); }} before -> InterfaceDeclaration, unmodifiedinterfacedeclaration, UnmodifiedInterfaceDeclaration {{ InterfaceDeclaration it = (InterfaceDeclaration) history.peek(); UnmodifiedInterfaceDeclaration p = new UnmodifiedInterfaceDeclaration(); it.set_unmodifiedinterfacedeclaration(p); history.push(p); }} after -> InterfaceDeclaration, unmodifiedinterfacedeclaration, UnmodifiedInterfaceDeclaration {{ history.pop(); }} before -> InterfaceModifiers, first, Nonempty_InterfaceModifiers {{ InterfaceModifiers it = (InterfaceModifiers) history.peek(); Nonempty_InterfaceModifiers p = new Nonempty_InterfaceModifiers(); it.set_first(p); history.push(p); }} after -> InterfaceModifiers, first, Nonempty_InterfaceModifiers {{ history.pop(); }} before -> IM_Abstract, cabstract, CAbstract {{ IM_Abstract it = (IM_Abstract) history.peek(); CAbstract p = new CAbstract(); it.set_cabstract(p); history.push(p); }} after -> IM_Abstract, cabstract, CAbstract {{ history.pop(); }} before -> IM_Public, cpublic, CPublic {{ IM_Public it = (IM_Public) history.peek(); CPublic p = new CPublic(); it.set_cpublic(p); history.push(p); }} after -> IM_Public, cpublic, CPublic {{ history.pop(); }} before -> NestedInterfaceDeclaration, nestedinterfacemodifiers, NestedInterfaceModifiers {{ NestedInterfaceDeclaration it = (NestedInterfaceDeclaration) history.peek(); NestedInterfaceModifiers p = new NestedInterfaceModifiers(); it.set_nestedinterfacemodifiers(p); history.push(p); }} after -> NestedInterfaceDeclaration, nestedinterfacemodifiers, NestedInterfaceModifiers {{ history.pop(); }} before -> NestedInterfaceDeclaration, unmodifiedinterfacedeclaration, UnmodifiedInterfaceDeclaration {{ NestedInterfaceDeclaration it = (NestedInterfaceDeclaration) history.peek(); UnmodifiedInterfaceDeclaration p = new UnmodifiedInterfaceDeclaration(); it.set_unmodifiedinterfacedeclaration(p); history.push(p); }} after -> NestedInterfaceDeclaration, unmodifiedinterfacedeclaration, UnmodifiedInterfaceDeclaration {{ history.pop(); }} before -> NestedInterfaceModifiers, first, Nonempty_NestedInterfaceModifiers {{ NestedInterfaceModifiers it = (NestedInterfaceModifiers) history.peek(); Nonempty_NestedInterfaceModifiers p = new Nonempty_NestedInterfaceModifiers(); it.set_first(p); history.push(p); }} after -> NestedInterfaceModifiers, first, Nonempty_NestedInterfaceModifiers {{ history.pop(); }} before -> NIM_Static, cstatic, CStatic {{ NIM_Static it = (NIM_Static) history.peek(); CStatic p = new CStatic(); it.set_cstatic(p); history.push(p); }} after -> NIM_Static, cstatic, CStatic {{ history.pop(); }} before -> NIM_Abstract, cabstract, CAbstract {{ NIM_Abstract it = (NIM_Abstract) history.peek(); CAbstract p = new CAbstract(); it.set_cabstract(p); history.push(p); }} after -> NIM_Abstract, cabstract, CAbstract {{ history.pop(); }} before -> NIM_Final, cfinal, CFinal {{ NIM_Final it = (NIM_Final) history.peek(); CFinal p = new CFinal(); it.set_cfinal(p); history.push(p); }} after -> NIM_Final, cfinal, CFinal {{ history.pop(); }} before -> NIM_Public, cpublic, CPublic {{ NIM_Public it = (NIM_Public) history.peek(); CPublic p = new CPublic(); it.set_cpublic(p); history.push(p); }} after -> NIM_Public, cpublic, CPublic {{ history.pop(); }} before -> NIM_Protected, cprotected, CProtected {{ NIM_Protected it = (NIM_Protected) history.peek(); CProtected p = new CProtected(); it.set_cprotected(p); history.push(p); }} after -> NIM_Protected, cprotected, CProtected {{ history.pop(); }} before -> NIM_Private, cprivate, CPrivate {{ NIM_Private it = (NIM_Private) history.peek(); CPrivate p = new CPrivate(); it.set_cprivate(p); history.push(p); }} after -> NIM_Private, cprivate, CPrivate {{ history.pop(); }} before -> UnmodifiedInterfaceDeclaration, identifier, Identifier {{ UnmodifiedInterfaceDeclaration it = (UnmodifiedInterfaceDeclaration) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> UnmodifiedInterfaceDeclaration, identifier, Identifier {{ history.pop(); }} before -> UnmodifiedInterfaceDeclaration, namelist, NameList {{ UnmodifiedInterfaceDeclaration it = (UnmodifiedInterfaceDeclaration) history.peek(); NameList p = new NameList(); it.set_namelist(p); history.push(p); }} after -> UnmodifiedInterfaceDeclaration, namelist, NameList {{ history.pop(); }} before -> UnmodifiedInterfaceDeclaration, interfacememberdeclarations, InterfaceMemberDeclarations {{ UnmodifiedInterfaceDeclaration it = (UnmodifiedInterfaceDeclaration) history.peek(); InterfaceMemberDeclarations p = new InterfaceMemberDeclarations(); it.set_interfacememberdeclarations(p); history.push(p); }} after -> UnmodifiedInterfaceDeclaration, interfacememberdeclarations, InterfaceMemberDeclarations {{ history.pop(); }} before -> InterfaceMemberDeclarations, first, Nonempty_InterfaceMemberDeclarations {{ InterfaceMemberDeclarations it = (InterfaceMemberDeclarations) history.peek(); Nonempty_InterfaceMemberDeclarations p = new Nonempty_InterfaceMemberDeclarations(); it.set_first(p); history.push(p); }} after -> InterfaceMemberDeclarations, first, Nonempty_InterfaceMemberDeclarations {{ history.pop(); }} before -> IMD_NestedClassDeclaration, nestedclassdeclaration, NestedClassDeclaration {{ IMD_NestedClassDeclaration it = (IMD_NestedClassDeclaration) history.peek(); NestedClassDeclaration p = new NestedClassDeclaration(); it.set_nestedclassdeclaration(p); history.push(p); }} after -> IMD_NestedClassDeclaration, nestedclassdeclaration, NestedClassDeclaration {{ history.pop(); }} before -> IMD_NestedInterfaceDeclaration, nestedinterfacedeclaration, NestedInterfaceDeclaration {{ IMD_NestedInterfaceDeclaration it = (IMD_NestedInterfaceDeclaration) history.peek(); NestedInterfaceDeclaration p = new NestedInterfaceDeclaration(); it.set_nestedinterfacedeclaration(p); history.push(p); }} after -> IMD_NestedInterfaceDeclaration, nestedinterfacedeclaration, NestedInterfaceDeclaration {{ history.pop(); }} before -> IMD_MethodDeclaration, methoddeclaration, MethodDeclaration {{ IMD_MethodDeclaration it = (IMD_MethodDeclaration) history.peek(); MethodDeclaration p = new MethodDeclaration(); it.set_methoddeclaration(p); history.push(p); }} after -> IMD_MethodDeclaration, methoddeclaration, MethodDeclaration {{ history.pop(); }} before -> IMD_FieldDeclaration, fielddeclaration, FieldDeclaration {{ IMD_FieldDeclaration it = (IMD_FieldDeclaration) history.peek(); FieldDeclaration p = new FieldDeclaration(); it.set_fielddeclaration(p); history.push(p); }} after -> IMD_FieldDeclaration, fielddeclaration, FieldDeclaration {{ history.pop(); }} before -> FieldDeclaration, fieldmodifiers, FieldModifiers {{ FieldDeclaration it = (FieldDeclaration) history.peek(); FieldModifiers p = new FieldModifiers(); it.set_fieldmodifiers(p); history.push(p); }} after -> FieldDeclaration, fieldmodifiers, FieldModifiers {{ history.pop(); }} before -> FieldDeclaration, type, Type {{ FieldDeclaration it = (FieldDeclaration) history.peek(); Type p = new Type(); it.set_type(p); history.push(p); }} after -> FieldDeclaration, type, Type {{ history.pop(); }} before -> FieldDeclaration, variabledeclarators, VariableDeclarators {{ FieldDeclaration it = (FieldDeclaration) history.peek(); VariableDeclarators p = new VariableDeclarators(); it.set_variabledeclarators(p); history.push(p); }} after -> FieldDeclaration, variabledeclarators, VariableDeclarators {{ history.pop(); }} before -> FieldModifiers, first, Nonempty_FieldModifiers {{ FieldModifiers it = (FieldModifiers) history.peek(); Nonempty_FieldModifiers p = new Nonempty_FieldModifiers(); it.set_first(p); history.push(p); }} after -> FieldModifiers, first, Nonempty_FieldModifiers {{ history.pop(); }} before -> FM_Public, cpublic, CPublic {{ FM_Public it = (FM_Public) history.peek(); CPublic p = new CPublic(); it.set_cpublic(p); history.push(p); }} after -> FM_Public, cpublic, CPublic {{ history.pop(); }} before -> FM_Protected, cprotected, CProtected {{ FM_Protected it = (FM_Protected) history.peek(); CProtected p = new CProtected(); it.set_cprotected(p); history.push(p); }} after -> FM_Protected, cprotected, CProtected {{ history.pop(); }} before -> FM_Private, cprivate, CPrivate {{ FM_Private it = (FM_Private) history.peek(); CPrivate p = new CPrivate(); it.set_cprivate(p); history.push(p); }} after -> FM_Private, cprivate, CPrivate {{ history.pop(); }} before -> FM_Static, cstatic, CStatic {{ FM_Static it = (FM_Static) history.peek(); CStatic p = new CStatic(); it.set_cstatic(p); history.push(p); }} after -> FM_Static, cstatic, CStatic {{ history.pop(); }} before -> FM_Final, cfinal, CFinal {{ FM_Final it = (FM_Final) history.peek(); CFinal p = new CFinal(); it.set_cfinal(p); history.push(p); }} after -> FM_Final, cfinal, CFinal {{ history.pop(); }} before -> FM_Transient, ctransient, CTransient {{ FM_Transient it = (FM_Transient) history.peek(); CTransient p = new CTransient(); it.set_ctransient(p); history.push(p); }} after -> FM_Transient, ctransient, CTransient {{ history.pop(); }} before -> FM_Volatile, cvolatile, CVolatile {{ FM_Volatile it = (FM_Volatile) history.peek(); CVolatile p = new CVolatile(); it.set_cvolatile(p); history.push(p); }} after -> FM_Volatile, cvolatile, CVolatile {{ history.pop(); }} before -> VariableDeclarators, first, Nonempty_VariableDeclarators {{ VariableDeclarators it = (VariableDeclarators) history.peek(); Nonempty_VariableDeclarators p = new Nonempty_VariableDeclarators(); it.set_first(p); history.push(p); }} after -> VariableDeclarators, first, Nonempty_VariableDeclarators {{ history.pop(); }} before -> VariableDeclarator, variabledeclaratorid, VariableDeclaratorId {{ VariableDeclarator it = (VariableDeclarator) history.peek(); VariableDeclaratorId p = new VariableDeclaratorId(); it.set_variabledeclaratorid(p); history.push(p); }} after -> VariableDeclarator, variabledeclaratorid, VariableDeclaratorId {{ history.pop(); }} before -> VariableDeclarator, variableinitializer, VariableInitializer {{ VariableDeclarator it = (VariableDeclarator) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_variableinitializer((VariableInitializer) p); history.push(p); }} after -> VariableDeclarator, variableinitializer, VariableInitializer {{ history.pop(); }} before -> VariableDeclaratorId, identifier, Identifier {{ VariableDeclaratorId it = (VariableDeclaratorId) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> VariableDeclaratorId, identifier, Identifier {{ history.pop(); }} before -> VariableDeclaratorId, squarebrackets, SquareBrackets {{ VariableDeclaratorId it = (VariableDeclaratorId) history.peek(); SquareBrackets p = new SquareBrackets(); it.set_squarebrackets(p); history.push(p); }} after -> VariableDeclaratorId, squarebrackets, SquareBrackets {{ history.pop(); }} before -> SquareBrackets, first, Nonempty_SquareBrackets {{ SquareBrackets it = (SquareBrackets) history.peek(); Nonempty_SquareBrackets p = new Nonempty_SquareBrackets(); it.set_first(p); history.push(p); }} after -> SquareBrackets, first, Nonempty_SquareBrackets {{ history.pop(); }} before -> ArrayInitializer, variableinitializers, VariableInitializers {{ ArrayInitializer it = (ArrayInitializer) history.peek(); VariableInitializers p = new VariableInitializers(); it.set_variableinitializers(p); history.push(p); }} after -> ArrayInitializer, variableinitializers, VariableInitializers {{ history.pop(); }} before -> ArrayInitializer, comma, Comma {{ ArrayInitializer it = (ArrayInitializer) history.peek(); Comma p = new Comma(); it.set_comma(p); history.push(p); }} after -> ArrayInitializer, comma, Comma {{ history.pop(); }} before -> VariableInitializers, first, Nonempty_VariableInitializers {{ VariableInitializers it = (VariableInitializers) history.peek(); Nonempty_VariableInitializers p = new Nonempty_VariableInitializers(); it.set_first(p); history.push(p); }} after -> VariableInitializers, first, Nonempty_VariableInitializers {{ history.pop(); }} before -> MethodDeclaration, methodmodifiers, MethodModifiers {{ MethodDeclaration it = (MethodDeclaration) history.peek(); MethodModifiers p = new MethodModifiers(); it.set_methodmodifiers(p); history.push(p); }} after -> MethodDeclaration, methodmodifiers, MethodModifiers {{ history.pop(); }} before -> MethodDeclaration, resulttype, ResultType {{ MethodDeclaration it = (MethodDeclaration) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_resulttype((ResultType) p); history.push(p); }} after -> MethodDeclaration, resulttype, ResultType {{ history.pop(); }} before -> MethodDeclaration, methoddeclarator, MethodDeclarator {{ MethodDeclaration it = (MethodDeclaration) history.peek(); MethodDeclarator p = new MethodDeclarator(); it.set_methoddeclarator(p); history.push(p); }} after -> MethodDeclaration, methoddeclarator, MethodDeclarator {{ history.pop(); }} before -> MethodDeclaration, namelist, NameList {{ MethodDeclaration it = (MethodDeclaration) history.peek(); NameList p = new NameList(); it.set_namelist(p); history.push(p); }} after -> MethodDeclaration, namelist, NameList {{ history.pop(); }} before -> MethodDeclaration, anyblock, AnyBlock {{ MethodDeclaration it = (MethodDeclaration) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_anyblock((AnyBlock) p); history.push(p); }} after -> MethodDeclaration, anyblock, AnyBlock {{ history.pop(); }} before -> MethodModifiers, first, Nonempty_MethodModifiers {{ MethodModifiers it = (MethodModifiers) history.peek(); Nonempty_MethodModifiers p = new Nonempty_MethodModifiers(); it.set_first(p); history.push(p); }} after -> MethodModifiers, first, Nonempty_MethodModifiers {{ history.pop(); }} before -> MM_Public, cpublic, CPublic {{ MM_Public it = (MM_Public) history.peek(); CPublic p = new CPublic(); it.set_cpublic(p); history.push(p); }} after -> MM_Public, cpublic, CPublic {{ history.pop(); }} before -> MM_Protected, cprotected, CProtected {{ MM_Protected it = (MM_Protected) history.peek(); CProtected p = new CProtected(); it.set_cprotected(p); history.push(p); }} after -> MM_Protected, cprotected, CProtected {{ history.pop(); }} before -> MM_Private, cprivate, CPrivate {{ MM_Private it = (MM_Private) history.peek(); CPrivate p = new CPrivate(); it.set_cprivate(p); history.push(p); }} after -> MM_Private, cprivate, CPrivate {{ history.pop(); }} before -> MM_Static, cstatic, CStatic {{ MM_Static it = (MM_Static) history.peek(); CStatic p = new CStatic(); it.set_cstatic(p); history.push(p); }} after -> MM_Static, cstatic, CStatic {{ history.pop(); }} before -> MM_Abstract, cabstract, CAbstract {{ MM_Abstract it = (MM_Abstract) history.peek(); CAbstract p = new CAbstract(); it.set_cabstract(p); history.push(p); }} after -> MM_Abstract, cabstract, CAbstract {{ history.pop(); }} before -> MM_Final, cfinal, CFinal {{ MM_Final it = (MM_Final) history.peek(); CFinal p = new CFinal(); it.set_cfinal(p); history.push(p); }} after -> MM_Final, cfinal, CFinal {{ history.pop(); }} before -> MM_Native, cnative, CNative {{ MM_Native it = (MM_Native) history.peek(); CNative p = new CNative(); it.set_cnative(p); history.push(p); }} after -> MM_Native, cnative, CNative {{ history.pop(); }} before -> MM_Synchronized, csynchronized, CSynchronized {{ MM_Synchronized it = (MM_Synchronized) history.peek(); CSynchronized p = new CSynchronized(); it.set_csynchronized(p); history.push(p); }} after -> MM_Synchronized, csynchronized, CSynchronized {{ history.pop(); }} before -> A_Block, block, Block {{ A_Block it = (A_Block) history.peek(); Block p = new Block(); it.set_block(p); history.push(p); }} after -> A_Block, block, Block {{ history.pop(); }} before -> A_SemiColon, semicolon, SemiColon {{ A_SemiColon it = (A_SemiColon) history.peek(); SemiColon p = new SemiColon(); it.set_semicolon(p); history.push(p); }} after -> A_SemiColon, semicolon, SemiColon {{ history.pop(); }} before -> MethodDeclarator, identifier, Identifier {{ MethodDeclarator it = (MethodDeclarator) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> MethodDeclarator, identifier, Identifier {{ history.pop(); }} before -> MethodDeclarator, formalparameters, FormalParameters {{ MethodDeclarator it = (MethodDeclarator) history.peek(); FormalParameters p = new FormalParameters(); it.set_formalparameters(p); history.push(p); }} after -> MethodDeclarator, formalparameters, FormalParameters {{ history.pop(); }} before -> MethodDeclarator, squarebrackets, SquareBrackets {{ MethodDeclarator it = (MethodDeclarator) history.peek(); SquareBrackets p = new SquareBrackets(); it.set_squarebrackets(p); history.push(p); }} after -> MethodDeclarator, squarebrackets, SquareBrackets {{ history.pop(); }} before -> FormalParameters, formalparameterlist, FormalParameterList {{ FormalParameters it = (FormalParameters) history.peek(); FormalParameterList p = new FormalParameterList(); it.set_formalparameterlist(p); history.push(p); }} after -> FormalParameters, formalparameterlist, FormalParameterList {{ history.pop(); }} before -> FormalParameterList, first, Nonempty_FormalParameterList {{ FormalParameterList it = (FormalParameterList) history.peek(); Nonempty_FormalParameterList p = new Nonempty_FormalParameterList(); it.set_first(p); history.push(p); }} after -> FormalParameterList, first, Nonempty_FormalParameterList {{ history.pop(); }} before -> FormalParameter, cfinal, CFinal {{ FormalParameter it = (FormalParameter) history.peek(); CFinal p = new CFinal(); it.set_cfinal(p); history.push(p); }} after -> FormalParameter, cfinal, CFinal {{ history.pop(); }} before -> FormalParameter, type, Type {{ FormalParameter it = (FormalParameter) history.peek(); Type p = new Type(); it.set_type(p); history.push(p); }} after -> FormalParameter, type, Type {{ history.pop(); }} before -> FormalParameter, variabledeclaratorid, VariableDeclaratorId {{ FormalParameter it = (FormalParameter) history.peek(); VariableDeclaratorId p = new VariableDeclaratorId(); it.set_variabledeclaratorid(p); history.push(p); }} after -> FormalParameter, variabledeclaratorid, VariableDeclaratorId {{ history.pop(); }} before -> ConstructorDeclaration, constructormodifier, ConstructorModifier {{ ConstructorDeclaration it = (ConstructorDeclaration) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_constructormodifier((ConstructorModifier) p); history.push(p); }} after -> ConstructorDeclaration, constructormodifier, ConstructorModifier {{ history.pop(); }} before -> ConstructorDeclaration, identifier, Identifier {{ ConstructorDeclaration it = (ConstructorDeclaration) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> ConstructorDeclaration, identifier, Identifier {{ history.pop(); }} before -> ConstructorDeclaration, formalparameters, FormalParameters {{ ConstructorDeclaration it = (ConstructorDeclaration) history.peek(); FormalParameters p = new FormalParameters(); it.set_formalparameters(p); history.push(p); }} after -> ConstructorDeclaration, formalparameters, FormalParameters {{ history.pop(); }} before -> ConstructorDeclaration, namelist, NameList {{ ConstructorDeclaration it = (ConstructorDeclaration) history.peek(); NameList p = new NameList(); it.set_namelist(p); history.push(p); }} after -> ConstructorDeclaration, namelist, NameList {{ history.pop(); }} before -> ConstructorDeclaration, explicitconstructorinvocation, ExplicitConstructorInvocation {{ ConstructorDeclaration it = (ConstructorDeclaration) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_explicitconstructorinvocation((ExplicitConstructorInvocation) p); history.push(p); }} after -> ConstructorDeclaration, explicitconstructorinvocation, ExplicitConstructorInvocation {{ history.pop(); }} before -> ConstructorDeclaration, blockstatements, BlockStatements {{ ConstructorDeclaration it = (ConstructorDeclaration) history.peek(); BlockStatements p = new BlockStatements(); it.set_blockstatements(p); history.push(p); }} after -> ConstructorDeclaration, blockstatements, BlockStatements {{ history.pop(); }} before -> CSM_Public, cpublic, CPublic {{ CSM_Public it = (CSM_Public) history.peek(); CPublic p = new CPublic(); it.set_cpublic(p); history.push(p); }} after -> CSM_Public, cpublic, CPublic {{ history.pop(); }} before -> CSM_Protected, cprotected, CProtected {{ CSM_Protected it = (CSM_Protected) history.peek(); CProtected p = new CProtected(); it.set_cprotected(p); history.push(p); }} after -> CSM_Protected, cprotected, CProtected {{ history.pop(); }} before -> CSM_Private, cprivate, CPrivate {{ CSM_Private it = (CSM_Private) history.peek(); CPrivate p = new CPrivate(); it.set_cprivate(p); history.push(p); }} after -> CSM_Private, cprivate, CPrivate {{ history.pop(); }} before -> BlockStatements, first, Nonempty_BlockStatements {{ BlockStatements it = (BlockStatements) history.peek(); Nonempty_BlockStatements p = new Nonempty_BlockStatements(); it.set_first(p); history.push(p); }} after -> BlockStatements, first, Nonempty_BlockStatements {{ history.pop(); }} before -> ThisConsInvoc, arguments, Arguments {{ ThisConsInvoc it = (ThisConsInvoc) history.peek(); Arguments p = new Arguments(); it.set_arguments(p); history.push(p); }} after -> ThisConsInvoc, arguments, Arguments {{ history.pop(); }} before -> SuperConsInvoc, primaryexpression, PrimaryExpression {{ SuperConsInvoc it = (SuperConsInvoc) history.peek(); PrimaryExpression p = new PrimaryExpression(); it.set_primaryexpression(p); history.push(p); }} after -> SuperConsInvoc, primaryexpression, PrimaryExpression {{ history.pop(); }} before -> SuperConsInvoc, arguments, Arguments {{ SuperConsInvoc it = (SuperConsInvoc) history.peek(); Arguments p = new Arguments(); it.set_arguments(p); history.push(p); }} after -> SuperConsInvoc, arguments, Arguments {{ history.pop(); }} before -> Initializer, cstatic, CStatic {{ Initializer it = (Initializer) history.peek(); CStatic p = new CStatic(); it.set_cstatic(p); history.push(p); }} after -> Initializer, cstatic, CStatic {{ history.pop(); }} before -> Initializer, block, Block {{ Initializer it = (Initializer) history.peek(); Block p = new Block(); it.set_block(p); history.push(p); }} after -> Initializer, block, Block {{ history.pop(); }} before -> Type, typealt, TypeAlt {{ Type it = (Type) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_typealt((TypeAlt) p); history.push(p); }} after -> Type, typealt, TypeAlt {{ history.pop(); }} before -> Type, squarebrackets, SquareBrackets {{ Type it = (Type) history.peek(); SquareBrackets p = new SquareBrackets(); it.set_squarebrackets(p); history.push(p); }} after -> Type, squarebrackets, SquareBrackets {{ history.pop(); }} before -> TName, name, Name {{ TName it = (TName) history.peek(); Name p = new Name(); it.set_name(p); history.push(p); }} after -> TName, name, Name {{ history.pop(); }} before -> Name, first, Nonempty_Name {{ Name it = (Name) history.peek(); Nonempty_Name p = new Nonempty_Name(); it.set_first(p); history.push(p); }} after -> Name, first, Nonempty_Name {{ history.pop(); }} before -> NameList, first, Nonempty_NameList {{ NameList it = (NameList) history.peek(); Nonempty_NameList p = new Nonempty_NameList(); it.set_first(p); history.push(p); }} after -> NameList, first, Nonempty_NameList {{ history.pop(); }} before -> Identifier, ident, Ident {{ Identifier it = (Identifier) history.peek(); it.set_ident(dest); }} before -> E_Assignment, assignment, Assignment {{ E_Assignment it = (E_Assignment) history.peek(); Assignment p = new Assignment(); it.set_assignment(p); history.push(p); }} after -> E_Assignment, assignment, Assignment {{ history.pop(); }} before -> Assignment, primaryexpression, PrimaryExpression {{ Assignment it = (Assignment) history.peek(); PrimaryExpression p = new PrimaryExpression(); it.set_primaryexpression(p); history.push(p); }} after -> Assignment, primaryexpression, PrimaryExpression {{ history.pop(); }} before -> Assignment, assignmentoperator, AssignmentOperator {{ Assignment it = (Assignment) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_assignmentoperator((AssignmentOperator) p); history.push(p); }} after -> Assignment, assignmentoperator, AssignmentOperator {{ history.pop(); }} before -> Assignment, expression, Expression {{ Assignment it = (Assignment) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> Assignment, expression, Expression {{ history.pop(); }} before -> ConditionalExpression, conditionalorexpression, ConditionalOrExpression {{ ConditionalExpression it = (ConditionalExpression) history.peek(); ConditionalOrExpression p = new ConditionalOrExpression(); it.set_conditionalorexpression(p); history.push(p); }} after -> ConditionalExpression, conditionalorexpression, ConditionalOrExpression {{ history.pop(); }} before -> ConditionalExpression, ternexp, TernExp {{ ConditionalExpression it = (ConditionalExpression) history.peek(); TernExp p = new TernExp(); it.set_ternexp(p); history.push(p); }} after -> ConditionalExpression, ternexp, TernExp {{ history.pop(); }} before -> TernExp, expression, Expression {{ TernExp it = (TernExp) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> TernExp, expression, Expression {{ history.pop(); }} before -> TernExp, conditionalexpression, ConditionalExpression {{ TernExp it = (TernExp) history.peek(); ConditionalExpression p = new ConditionalExpression(); it.set_conditionalexpression(p); history.push(p); }} after -> TernExp, conditionalexpression, ConditionalExpression {{ history.pop(); }} before -> ConditionalOrExpression, first, Nonempty_ConditionalOrExpression {{ ConditionalOrExpression it = (ConditionalOrExpression) history.peek(); Nonempty_ConditionalOrExpression p = new Nonempty_ConditionalOrExpression(); it.set_first(p); history.push(p); }} after -> ConditionalOrExpression, first, Nonempty_ConditionalOrExpression {{ history.pop(); }} before -> ConditionalAndExpression, first, Nonempty_ConditionalAndExpression {{ ConditionalAndExpression it = (ConditionalAndExpression) history.peek(); Nonempty_ConditionalAndExpression p = new Nonempty_ConditionalAndExpression(); it.set_first(p); history.push(p); }} after -> ConditionalAndExpression, first, Nonempty_ConditionalAndExpression {{ history.pop(); }} before -> InclusiveOrExpression, first, Nonempty_InclusiveOrExpression {{ InclusiveOrExpression it = (InclusiveOrExpression) history.peek(); Nonempty_InclusiveOrExpression p = new Nonempty_InclusiveOrExpression(); it.set_first(p); history.push(p); }} after -> InclusiveOrExpression, first, Nonempty_InclusiveOrExpression {{ history.pop(); }} before -> ExclusiveOrExpression, first, Nonempty_ExclusiveOrExpression {{ ExclusiveOrExpression it = (ExclusiveOrExpression) history.peek(); Nonempty_ExclusiveOrExpression p = new Nonempty_ExclusiveOrExpression(); it.set_first(p); history.push(p); }} after -> ExclusiveOrExpression, first, Nonempty_ExclusiveOrExpression {{ history.pop(); }} before -> AndExpression, first, Nonempty_AndExpression {{ AndExpression it = (AndExpression) history.peek(); Nonempty_AndExpression p = new Nonempty_AndExpression(); it.set_first(p); history.push(p); }} after -> AndExpression, first, Nonempty_AndExpression {{ history.pop(); }} before -> EqualityExpression, instanceofexpression, InstanceOfExpression {{ EqualityExpression it = (EqualityExpression) history.peek(); InstanceOfExpression p = new InstanceOfExpression(); it.set_instanceofexpression(p); history.push(p); }} after -> EqualityExpression, instanceofexpression, InstanceOfExpression {{ history.pop(); }} before -> EqualityExpression, rhsequalityexpression, RHSEqualityExpression {{ EqualityExpression it = (EqualityExpression) history.peek(); RHSEqualityExpression p = new RHSEqualityExpression(); it.set_rhsequalityexpression(p); history.push(p); }} after -> EqualityExpression, rhsequalityexpression, RHSEqualityExpression {{ history.pop(); }} before -> RHSEqualityExpression, first, Nonempty_RHSEqualityExpression {{ RHSEqualityExpression it = (RHSEqualityExpression) history.peek(); Nonempty_RHSEqualityExpression p = new Nonempty_RHSEqualityExpression(); it.set_first(p); history.push(p); }} after -> RHSEqualityExpression, first, Nonempty_RHSEqualityExpression {{ history.pop(); }} before -> RInstanceOfExpression, eqnoteq, EqNotEq {{ RInstanceOfExpression it = (RInstanceOfExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_eqnoteq((EqNotEq) p); history.push(p); }} after -> RInstanceOfExpression, eqnoteq, EqNotEq {{ history.pop(); }} before -> RInstanceOfExpression, instanceofexpression, InstanceOfExpression {{ RInstanceOfExpression it = (RInstanceOfExpression) history.peek(); InstanceOfExpression p = new InstanceOfExpression(); it.set_instanceofexpression(p); history.push(p); }} after -> RInstanceOfExpression, instanceofexpression, InstanceOfExpression {{ history.pop(); }} before -> InstanceOfExpression, relationalexpression, RelationalExpression {{ InstanceOfExpression it = (InstanceOfExpression) history.peek(); RelationalExpression p = new RelationalExpression(); it.set_relationalexpression(p); history.push(p); }} after -> InstanceOfExpression, relationalexpression, RelationalExpression {{ history.pop(); }} before -> InstanceOfExpression, type, Type {{ InstanceOfExpression it = (InstanceOfExpression) history.peek(); Type p = new Type(); it.set_type(p); history.push(p); }} after -> InstanceOfExpression, type, Type {{ history.pop(); }} before -> RelationalExpression, shiftexpression, ShiftExpression {{ RelationalExpression it = (RelationalExpression) history.peek(); ShiftExpression p = new ShiftExpression(); it.set_shiftexpression(p); history.push(p); }} after -> RelationalExpression, shiftexpression, ShiftExpression {{ history.pop(); }} before -> RelationalExpression, rhsrelationalexpression, RHSRelationalExpression {{ RelationalExpression it = (RelationalExpression) history.peek(); RHSRelationalExpression p = new RHSRelationalExpression(); it.set_rhsrelationalexpression(p); history.push(p); }} after -> RelationalExpression, rhsrelationalexpression, RHSRelationalExpression {{ history.pop(); }} before -> RHSRelationalExpression, first, Nonempty_RHSRelationalExpression {{ RHSRelationalExpression it = (RHSRelationalExpression) history.peek(); Nonempty_RHSRelationalExpression p = new Nonempty_RHSRelationalExpression(); it.set_first(p); history.push(p); }} after -> RHSRelationalExpression, first, Nonempty_RHSRelationalExpression {{ history.pop(); }} before -> RShiftExpression, compexp, CompExp {{ RShiftExpression it = (RShiftExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_compexp((CompExp) p); history.push(p); }} after -> RShiftExpression, compexp, CompExp {{ history.pop(); }} before -> RShiftExpression, shiftexpression, ShiftExpression {{ RShiftExpression it = (RShiftExpression) history.peek(); ShiftExpression p = new ShiftExpression(); it.set_shiftexpression(p); history.push(p); }} after -> RShiftExpression, shiftexpression, ShiftExpression {{ history.pop(); }} before -> ShiftExpression, additiveexpression, AdditiveExpression {{ ShiftExpression it = (ShiftExpression) history.peek(); AdditiveExpression p = new AdditiveExpression(); it.set_additiveexpression(p); history.push(p); }} after -> ShiftExpression, additiveexpression, AdditiveExpression {{ history.pop(); }} before -> ShiftExpression, rhsshiftexpression, RHSShiftExpression {{ ShiftExpression it = (ShiftExpression) history.peek(); RHSShiftExpression p = new RHSShiftExpression(); it.set_rhsshiftexpression(p); history.push(p); }} after -> ShiftExpression, rhsshiftexpression, RHSShiftExpression {{ history.pop(); }} before -> RHSShiftExpression, first, Nonempty_RHSShiftExpression {{ RHSShiftExpression it = (RHSShiftExpression) history.peek(); Nonempty_RHSShiftExpression p = new Nonempty_RHSShiftExpression(); it.set_first(p); history.push(p); }} after -> RHSShiftExpression, first, Nonempty_RHSShiftExpression {{ history.pop(); }} before -> RAdditiveExpression, shiftexp, ShiftExp {{ RAdditiveExpression it = (RAdditiveExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_shiftexp((ShiftExp) p); history.push(p); }} after -> RAdditiveExpression, shiftexp, ShiftExp {{ history.pop(); }} before -> RAdditiveExpression, additiveexpression, AdditiveExpression {{ RAdditiveExpression it = (RAdditiveExpression) history.peek(); AdditiveExpression p = new AdditiveExpression(); it.set_additiveexpression(p); history.push(p); }} after -> RAdditiveExpression, additiveexpression, AdditiveExpression {{ history.pop(); }} before -> AdditiveExpression, multiplicativeexpression, MultiplicativeExpression {{ AdditiveExpression it = (AdditiveExpression) history.peek(); MultiplicativeExpression p = new MultiplicativeExpression(); it.set_multiplicativeexpression(p); history.push(p); }} after -> AdditiveExpression, multiplicativeexpression, MultiplicativeExpression {{ history.pop(); }} before -> AdditiveExpression, rhsadditiveexpression, RHSAdditiveExpression {{ AdditiveExpression it = (AdditiveExpression) history.peek(); RHSAdditiveExpression p = new RHSAdditiveExpression(); it.set_rhsadditiveexpression(p); history.push(p); }} after -> AdditiveExpression, rhsadditiveexpression, RHSAdditiveExpression {{ history.pop(); }} before -> RHSAdditiveExpression, first, Nonempty_RHSAdditiveExpression {{ RHSAdditiveExpression it = (RHSAdditiveExpression) history.peek(); Nonempty_RHSAdditiveExpression p = new Nonempty_RHSAdditiveExpression(); it.set_first(p); history.push(p); }} after -> RHSAdditiveExpression, first, Nonempty_RHSAdditiveExpression {{ history.pop(); }} before -> RMultiplicativeExpression, addexp, AddExp {{ RMultiplicativeExpression it = (RMultiplicativeExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_addexp((AddExp) p); history.push(p); }} after -> RMultiplicativeExpression, addexp, AddExp {{ history.pop(); }} before -> RMultiplicativeExpression, multiplicativeexpression, MultiplicativeExpression {{ RMultiplicativeExpression it = (RMultiplicativeExpression) history.peek(); MultiplicativeExpression p = new MultiplicativeExpression(); it.set_multiplicativeexpression(p); history.push(p); }} after -> RMultiplicativeExpression, multiplicativeexpression, MultiplicativeExpression {{ history.pop(); }} before -> MultiplicativeExpression, unaryexpression, UnaryExpression {{ MultiplicativeExpression it = (MultiplicativeExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_unaryexpression((UnaryExpression) p); history.push(p); }} after -> MultiplicativeExpression, unaryexpression, UnaryExpression {{ history.pop(); }} before -> MultiplicativeExpression, rhsmultiplicativeexpression, RHSMultiplicativeExpression {{ MultiplicativeExpression it = (MultiplicativeExpression) history.peek(); RHSMultiplicativeExpression p = new RHSMultiplicativeExpression(); it.set_rhsmultiplicativeexpression(p); history.push(p); }} after -> MultiplicativeExpression, rhsmultiplicativeexpression, RHSMultiplicativeExpression {{ history.pop(); }} before -> RHSMultiplicativeExpression, first, Nonempty_RHSMultiplicativeExpression {{ RHSMultiplicativeExpression it = (RHSMultiplicativeExpression) history.peek(); Nonempty_RHSMultiplicativeExpression p = new Nonempty_RHSMultiplicativeExpression(); it.set_first(p); history.push(p); }} after -> RHSMultiplicativeExpression, first, Nonempty_RHSMultiplicativeExpression {{ history.pop(); }} before -> RUnaryExpression, mulexp, MulExp {{ RUnaryExpression it = (RUnaryExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_mulexp((MulExp) p); history.push(p); }} after -> RUnaryExpression, mulexp, MulExp {{ history.pop(); }} before -> RUnaryExpression, unaryexpression, UnaryExpression {{ RUnaryExpression it = (RUnaryExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_unaryexpression((UnaryExpression) p); history.push(p); }} after -> RUnaryExpression, unaryexpression, UnaryExpression {{ history.pop(); }} before -> U_PreIncrementExpression, preincrementexpression, PreIncrementExpression {{ U_PreIncrementExpression it = (U_PreIncrementExpression) history.peek(); PreIncrementExpression p = new PreIncrementExpression(); it.set_preincrementexpression(p); history.push(p); }} after -> U_PreIncrementExpression, preincrementexpression, PreIncrementExpression {{ history.pop(); }} before -> U_PreDecrementExpression, predecrementexpression, PreDecrementExpression {{ U_PreDecrementExpression it = (U_PreDecrementExpression) history.peek(); PreDecrementExpression p = new PreDecrementExpression(); it.set_predecrementexpression(p); history.push(p); }} after -> U_PreDecrementExpression, predecrementexpression, PreDecrementExpression {{ history.pop(); }} before -> PlusMinusUnaryExpression, addexp, AddExp {{ PlusMinusUnaryExpression it = (PlusMinusUnaryExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_addexp((AddExp) p); history.push(p); }} after -> PlusMinusUnaryExpression, addexp, AddExp {{ history.pop(); }} before -> PlusMinusUnaryExpression, unaryexpression, UnaryExpression {{ PlusMinusUnaryExpression it = (PlusMinusUnaryExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_unaryexpression((UnaryExpression) p); history.push(p); }} after -> PlusMinusUnaryExpression, unaryexpression, UnaryExpression {{ history.pop(); }} before -> PreIncrementExpression, primaryexpression, PrimaryExpression {{ PreIncrementExpression it = (PreIncrementExpression) history.peek(); PrimaryExpression p = new PrimaryExpression(); it.set_primaryexpression(p); history.push(p); }} after -> PreIncrementExpression, primaryexpression, PrimaryExpression {{ history.pop(); }} before -> PreDecrementExpression, primaryexpression, PrimaryExpression {{ PreDecrementExpression it = (PreDecrementExpression) history.peek(); PrimaryExpression p = new PrimaryExpression(); it.set_primaryexpression(p); history.push(p); }} after -> PreDecrementExpression, primaryexpression, PrimaryExpression {{ history.pop(); }} before -> UN_PostfixExpression, postfixexpression, PostfixExpression {{ UN_PostfixExpression it = (UN_PostfixExpression) history.peek(); PostfixExpression p = new PostfixExpression(); it.set_postfixexpression(p); history.push(p); }} after -> UN_PostfixExpression, postfixexpression, PostfixExpression {{ history.pop(); }} before -> NUnaryExpression, notplusminus, NotPlusMinus {{ NUnaryExpression it = (NUnaryExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_notplusminus((NotPlusMinus) p); history.push(p); }} after -> NUnaryExpression, notplusminus, NotPlusMinus {{ history.pop(); }} before -> NUnaryExpression, unaryexpression, UnaryExpression {{ NUnaryExpression it = (NUnaryExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_unaryexpression((UnaryExpression) p); history.push(p); }} after -> NUnaryExpression, unaryexpression, UnaryExpression {{ history.pop(); }} before -> PostfixExpression, primaryexpression, PrimaryExpression {{ PostfixExpression it = (PostfixExpression) history.peek(); PrimaryExpression p = new PrimaryExpression(); it.set_primaryexpression(p); history.push(p); }} after -> PostfixExpression, primaryexpression, PrimaryExpression {{ history.pop(); }} before -> PostfixExpression, paddexp, PAddExp {{ PostfixExpression it = (PostfixExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_paddexp((PAddExp) p); history.push(p); }} after -> PostfixExpression, paddexp, PAddExp {{ history.pop(); }} before -> CastExpSimple, type, Type {{ CastExpSimple it = (CastExpSimple) history.peek(); Type p = new Type(); it.set_type(p); history.push(p); }} after -> CastExpSimple, type, Type {{ history.pop(); }} before -> CastExpSimple, unaryexpression, UnaryExpression {{ CastExpSimple it = (CastExpSimple) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_unaryexpression((UnaryExpression) p); history.push(p); }} after -> CastExpSimple, unaryexpression, UnaryExpression {{ history.pop(); }} before -> CastExpCmplx, type, Type {{ CastExpCmplx it = (CastExpCmplx) history.peek(); Type p = new Type(); it.set_type(p); history.push(p); }} after -> CastExpCmplx, type, Type {{ history.pop(); }} before -> CastExpCmplx, unaryexpressionnotplusminus, UnaryExpressionNotPlusMinus {{ CastExpCmplx it = (CastExpCmplx) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_unaryexpressionnotplusminus((UnaryExpressionNotPlusMinus) p); history.push(p); }} after -> CastExpCmplx, unaryexpressionnotplusminus, UnaryExpressionNotPlusMinus {{ history.pop(); }} before -> PrimaryExpression, primaryprefix, PrimaryPrefix {{ PrimaryExpression it = (PrimaryExpression) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_primaryprefix((PrimaryPrefix) p); history.push(p); }} after -> PrimaryExpression, primaryprefix, PrimaryPrefix {{ history.pop(); }} before -> PrimaryExpression, primarysuffixes, PrimarySuffixes {{ PrimaryExpression it = (PrimaryExpression) history.peek(); PrimarySuffixes p = new PrimarySuffixes(); it.set_primarysuffixes(p); history.push(p); }} after -> PrimaryExpression, primarysuffixes, PrimarySuffixes {{ history.pop(); }} before -> PrimarySuffixes, first, Nonempty_PrimarySuffixes {{ PrimarySuffixes it = (PrimarySuffixes) history.peek(); Nonempty_PrimarySuffixes p = new Nonempty_PrimarySuffixes(); it.set_first(p); history.push(p); }} after -> PrimarySuffixes, first, Nonempty_PrimarySuffixes {{ history.pop(); }} before -> PName, name, Name {{ PName it = (PName) history.peek(); Name p = new Name(); it.set_name(p); history.push(p); }} after -> PName, name, Name {{ history.pop(); }} before -> SuperPP, identifier, Identifier {{ SuperPP it = (SuperPP) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> SuperPP, identifier, Identifier {{ history.pop(); }} before -> ParenExp, expression, Expression {{ ParenExp it = (ParenExp) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> ParenExp, expression, Expression {{ history.pop(); }} before -> dotAlloc, allocationexpression, AllocationExpression {{ dotAlloc it = (dotAlloc) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_allocationexpression((AllocationExpression) p); history.push(p); }} after -> dotAlloc, allocationexpression, AllocationExpression {{ history.pop(); }} before -> dotParam, expression, Expression {{ dotParam it = (dotParam) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> dotParam, expression, Expression {{ history.pop(); }} before -> dotIdent, identifier, Identifier {{ dotIdent it = (dotIdent) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> dotIdent, identifier, Identifier {{ history.pop(); }} before -> Integer_literal, integer, Integer {{ Integer_literal it = (Integer_literal) history.peek(); it.set_integer(dest); }} before -> Floating_point_literal, f, Float {{ Floating_point_literal it = (Floating_point_literal) history.peek(); it.set_f(dest); }} before -> Character_literal, character, Character {{ Character_literal it = (Character_literal) history.peek(); it.set_character(dest); }} before -> String_literal, string, String {{ String_literal it = (String_literal) history.peek(); it.set_string(dest); }} before -> BooleanLiteral, b, Boolean {{ BooleanLiteral it = (BooleanLiteral) history.peek(); it.set_b(dest); }} before -> Arguments, argumentlist, ArgumentList {{ Arguments it = (Arguments) history.peek(); ArgumentList p = new ArgumentList(); it.set_argumentlist(p); history.push(p); }} after -> Arguments, argumentlist, ArgumentList {{ history.pop(); }} before -> ArgumentList, first, Nonempty_ArgumentList {{ ArgumentList it = (ArgumentList) history.peek(); Nonempty_ArgumentList p = new Nonempty_ArgumentList(); it.set_first(p); history.push(p); }} after -> ArgumentList, first, Nonempty_ArgumentList {{ history.pop(); }} before -> newCmplx, primitivetype, PrimitiveType {{ newCmplx it = (newCmplx) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_primitivetype((PrimitiveType) p); history.push(p); }} after -> newCmplx, primitivetype, PrimitiveType {{ history.pop(); }} before -> newCmplx, arraydimensions, ArrayDimensions {{ newCmplx it = (newCmplx) history.peek(); ArrayDimensions p = new ArrayDimensions(); it.set_arraydimensions(p); history.push(p); }} after -> newCmplx, arraydimensions, ArrayDimensions {{ history.pop(); }} before -> newCmplx, arrayinitializer, ArrayInitializer {{ newCmplx it = (newCmplx) history.peek(); ArrayInitializer p = new ArrayInitializer(); it.set_arrayinitializer(p); history.push(p); }} after -> newCmplx, arrayinitializer, ArrayInitializer {{ history.pop(); }} before -> newSimple, name, Name {{ newSimple it = (newSimple) history.peek(); Name p = new Name(); it.set_name(p); history.push(p); }} after -> newSimple, name, Name {{ history.pop(); }} before -> newSimple, arralloc, ArrAlloc {{ newSimple it = (newSimple) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_arralloc((ArrAlloc) p); history.push(p); }} after -> newSimple, arralloc, ArrAlloc {{ history.pop(); }} before -> ArrAllocIni, arraydimensions, ArrayDimensions {{ ArrAllocIni it = (ArrAllocIni) history.peek(); ArrayDimensions p = new ArrayDimensions(); it.set_arraydimensions(p); history.push(p); }} after -> ArrAllocIni, arraydimensions, ArrayDimensions {{ history.pop(); }} before -> ArrAllocIni, arrayinitializer, ArrayInitializer {{ ArrAllocIni it = (ArrAllocIni) history.peek(); ArrayInitializer p = new ArrayInitializer(); it.set_arrayinitializer(p); history.push(p); }} after -> ArrAllocIni, arrayinitializer, ArrayInitializer {{ history.pop(); }} before -> ArrAllocClas, arguments, Arguments {{ ArrAllocClas it = (ArrAllocClas) history.peek(); Arguments p = new Arguments(); it.set_arguments(p); history.push(p); }} after -> ArrAllocClas, arguments, Arguments {{ history.pop(); }} before -> ArrAllocClas, classbody, ClassBody {{ ArrAllocClas it = (ArrAllocClas) history.peek(); ClassBody p = new ClassBody(); it.set_classbody(p); history.push(p); }} after -> ArrAllocClas, classbody, ClassBody {{ history.pop(); }} before -> ArrayDimensions, arraydimension, ArrayDimension {{ ArrayDimensions it = (ArrayDimensions) history.peek(); ArrayDimension p = new ArrayDimension(); it.set_arraydimension(p); history.push(p); }} after -> ArrayDimensions, arraydimension, ArrayDimension {{ history.pop(); }} before -> ArrayDimensions, squarebrackets, SquareBrackets {{ ArrayDimensions it = (ArrayDimensions) history.peek(); SquareBrackets p = new SquareBrackets(); it.set_squarebrackets(p); history.push(p); }} after -> ArrayDimensions, squarebrackets, SquareBrackets {{ history.pop(); }} before -> ArrayDimension, first, Nonempty_ArrayDimension {{ ArrayDimension it = (ArrayDimension) history.peek(); Nonempty_ArrayDimension p = new Nonempty_ArrayDimension(); it.set_first(p); history.push(p); }} after -> ArrayDimension, first, Nonempty_ArrayDimension {{ history.pop(); }} before -> DimExp, expression, Expression {{ DimExp it = (DimExp) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> DimExp, expression, Expression {{ history.pop(); }} before -> StatementExpressionSe, statementexpression, StatementExpression {{ StatementExpressionSe it = (StatementExpressionSe) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_statementexpression((StatementExpression) p); history.push(p); }} after -> StatementExpressionSe, statementexpression, StatementExpression {{ history.pop(); }} before -> LabeledStatement, identifier, Identifier {{ LabeledStatement it = (LabeledStatement) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> LabeledStatement, identifier, Identifier {{ history.pop(); }} before -> LabeledStatement, statement, Statement {{ LabeledStatement it = (LabeledStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_statement((Statement) p); history.push(p); }} after -> LabeledStatement, statement, Statement {{ history.pop(); }} before -> SBlock, block, Block {{ SBlock it = (SBlock) history.peek(); Block p = new Block(); it.set_block(p); history.push(p); }} after -> SBlock, block, Block {{ history.pop(); }} before -> Block, blockstatements, BlockStatements {{ Block it = (Block) history.peek(); BlockStatements p = new BlockStatements(); it.set_blockstatements(p); history.push(p); }} after -> Block, blockstatements, BlockStatements {{ history.pop(); }} before -> BStatement, statement, Statement {{ BStatement it = (BStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_statement((Statement) p); history.push(p); }} after -> BStatement, statement, Statement {{ history.pop(); }} before -> LocVarDecl, localvariabledeclaration, LocalVariableDeclaration {{ LocVarDecl it = (LocVarDecl) history.peek(); LocalVariableDeclaration p = new LocalVariableDeclaration(); it.set_localvariabledeclaration(p); history.push(p); }} after -> LocVarDecl, localvariabledeclaration, LocalVariableDeclaration {{ history.pop(); }} before -> LocalVariableDeclaration, cfinal, CFinal {{ LocalVariableDeclaration it = (LocalVariableDeclaration) history.peek(); CFinal p = new CFinal(); it.set_cfinal(p); history.push(p); }} after -> LocalVariableDeclaration, cfinal, CFinal {{ history.pop(); }} before -> LocalVariableDeclaration, type, Type {{ LocalVariableDeclaration it = (LocalVariableDeclaration) history.peek(); Type p = new Type(); it.set_type(p); history.push(p); }} after -> LocalVariableDeclaration, type, Type {{ history.pop(); }} before -> LocalVariableDeclaration, variabledeclarators, VariableDeclarators {{ LocalVariableDeclaration it = (LocalVariableDeclaration) history.peek(); VariableDeclarators p = new VariableDeclarators(); it.set_variabledeclarators(p); history.push(p); }} after -> LocalVariableDeclaration, variabledeclarators, VariableDeclarators {{ history.pop(); }} before -> EmptyStatement, semicolon, SemiColon {{ EmptyStatement it = (EmptyStatement) history.peek(); SemiColon p = new SemiColon(); it.set_semicolon(p); history.push(p); }} after -> EmptyStatement, semicolon, SemiColon {{ history.pop(); }} before -> SE_PreIncrementExpression, preincrementexpression, PreIncrementExpression {{ SE_PreIncrementExpression it = (SE_PreIncrementExpression) history.peek(); PreIncrementExpression p = new PreIncrementExpression(); it.set_preincrementexpression(p); history.push(p); }} after -> SE_PreIncrementExpression, preincrementexpression, PreIncrementExpression {{ history.pop(); }} before -> SE_PreDecrementExpression, predecrementexpression, PreDecrementExpression {{ SE_PreDecrementExpression it = (SE_PreDecrementExpression) history.peek(); PreDecrementExpression p = new PreDecrementExpression(); it.set_predecrementexpression(p); history.push(p); }} after -> SE_PreDecrementExpression, predecrementexpression, PreDecrementExpression {{ history.pop(); }} before -> SE_Assignment, assignment, Assignment {{ SE_Assignment it = (SE_Assignment) history.peek(); Assignment p = new Assignment(); it.set_assignment(p); history.push(p); }} after -> SE_Assignment, assignment, Assignment {{ history.pop(); }} before -> SE_PostfixExpression, postfixexpression, PostfixExpression {{ SE_PostfixExpression it = (SE_PostfixExpression) history.peek(); PostfixExpression p = new PostfixExpression(); it.set_postfixexpression(p); history.push(p); }} after -> SE_PostfixExpression, postfixexpression, PostfixExpression {{ history.pop(); }} before -> SwitchStatement, expression, Expression {{ SwitchStatement it = (SwitchStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> SwitchStatement, expression, Expression {{ history.pop(); }} before -> SwitchStatement, caseblocks, CaseBlocks {{ SwitchStatement it = (SwitchStatement) history.peek(); CaseBlocks p = new CaseBlocks(); it.set_caseblocks(p); history.push(p); }} after -> SwitchStatement, caseblocks, CaseBlocks {{ history.pop(); }} before -> CaseBlocks, first, Nonempty_CaseBlocks {{ CaseBlocks it = (CaseBlocks) history.peek(); Nonempty_CaseBlocks p = new Nonempty_CaseBlocks(); it.set_first(p); history.push(p); }} after -> CaseBlocks, first, Nonempty_CaseBlocks {{ history.pop(); }} before -> CaseBlock, switchlabel, SwitchLabel {{ CaseBlock it = (CaseBlock) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_switchlabel((SwitchLabel) p); history.push(p); }} after -> CaseBlock, switchlabel, SwitchLabel {{ history.pop(); }} before -> CaseBlock, blockstatements, BlockStatements {{ CaseBlock it = (CaseBlock) history.peek(); BlockStatements p = new BlockStatements(); it.set_blockstatements(p); history.push(p); }} after -> CaseBlock, blockstatements, BlockStatements {{ history.pop(); }} before -> CaseExp, expression, Expression {{ CaseExp it = (CaseExp) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> CaseExp, expression, Expression {{ history.pop(); }} before -> IfStatement, expression, Expression {{ IfStatement it = (IfStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> IfStatement, expression, Expression {{ history.pop(); }} before -> IfStatement, statement, Statement {{ IfStatement it = (IfStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_statement((Statement) p); history.push(p); }} after -> IfStatement, statement, Statement {{ history.pop(); }} before -> IfStatement, elseStmt, Statement {{ IfStatement it = (IfStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_elseStmt((Statement) p); history.push(p); }} after -> IfStatement, elseStmt, Statement {{ history.pop(); }} before -> WhileStatement, expression, Expression {{ WhileStatement it = (WhileStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> WhileStatement, expression, Expression {{ history.pop(); }} before -> WhileStatement, statement, Statement {{ WhileStatement it = (WhileStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_statement((Statement) p); history.push(p); }} after -> WhileStatement, statement, Statement {{ history.pop(); }} before -> DoStatement, statement, Statement {{ DoStatement it = (DoStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_statement((Statement) p); history.push(p); }} after -> DoStatement, statement, Statement {{ history.pop(); }} before -> DoStatement, expression, Expression {{ DoStatement it = (DoStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> DoStatement, expression, Expression {{ history.pop(); }} before -> ForStatement, forinitopt, ForInitOpt {{ ForStatement it = (ForStatement) history.peek(); ForInitOpt p = new ForInitOpt(); it.set_forinitopt(p); history.push(p); }} after -> ForStatement, forinitopt, ForInitOpt {{ history.pop(); }} before -> ForStatement, forevalexp, ForEvalExp {{ ForStatement it = (ForStatement) history.peek(); ForEvalExp p = new ForEvalExp(); it.set_forevalexp(p); history.push(p); }} after -> ForStatement, forevalexp, ForEvalExp {{ history.pop(); }} before -> ForStatement, forupdate, ForUpdate {{ ForStatement it = (ForStatement) history.peek(); ForUpdate p = new ForUpdate(); it.set_forupdate(p); history.push(p); }} after -> ForStatement, forupdate, ForUpdate {{ history.pop(); }} before -> ForStatement, statement, Statement {{ ForStatement it = (ForStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_statement((Statement) p); history.push(p); }} after -> ForStatement, statement, Statement {{ history.pop(); }} before -> ForInitOpt, forinit, ForInit {{ ForInitOpt it = (ForInitOpt) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_forinit((ForInit) p); history.push(p); }} after -> ForInitOpt, forinit, ForInit {{ history.pop(); }} before -> ForEvalExp, expression, Expression {{ ForEvalExp it = (ForEvalExp) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> ForEvalExp, expression, Expression {{ history.pop(); }} before -> StatementExpressionList, first, Nonempty_StatementExpressionList {{ StatementExpressionList it = (StatementExpressionList) history.peek(); Nonempty_StatementExpressionList p = new Nonempty_StatementExpressionList(); it.set_first(p); history.push(p); }} after -> StatementExpressionList, first, Nonempty_StatementExpressionList {{ history.pop(); }} before -> ForUpdate, statementexpressionlist, StatementExpressionList {{ ForUpdate it = (ForUpdate) history.peek(); StatementExpressionList p = new StatementExpressionList(); it.set_statementexpressionlist(p); history.push(p); }} after -> ForUpdate, statementexpressionlist, StatementExpressionList {{ history.pop(); }} before -> BreakStatement, identifier, Identifier {{ BreakStatement it = (BreakStatement) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> BreakStatement, identifier, Identifier {{ history.pop(); }} before -> ContinueStatement, identifier, Identifier {{ ContinueStatement it = (ContinueStatement) history.peek(); Identifier p = new Identifier(); it.set_identifier(p); history.push(p); }} after -> ContinueStatement, identifier, Identifier {{ history.pop(); }} before -> ReturnStatement, expression, Expression {{ ReturnStatement it = (ReturnStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> ReturnStatement, expression, Expression {{ history.pop(); }} before -> ThrowStatement, expression, Expression {{ ThrowStatement it = (ThrowStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> ThrowStatement, expression, Expression {{ history.pop(); }} before -> SynchronizedStatement, expression, Expression {{ SynchronizedStatement it = (SynchronizedStatement) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_expression((Expression) p); history.push(p); }} after -> SynchronizedStatement, expression, Expression {{ history.pop(); }} before -> SynchronizedStatement, block, Block {{ SynchronizedStatement it = (SynchronizedStatement) history.peek(); Block p = new Block(); it.set_block(p); history.push(p); }} after -> SynchronizedStatement, block, Block {{ history.pop(); }} before -> TryStatement, block, Block {{ TryStatement it = (TryStatement) history.peek(); Block p = new Block(); it.set_block(p); history.push(p); }} after -> TryStatement, block, Block {{ history.pop(); }} before -> TryStatement, catchblocks, CatchBlocks {{ TryStatement it = (TryStatement) history.peek(); CatchBlocks p = new CatchBlocks(); it.set_catchblocks(p); history.push(p); }} after -> TryStatement, catchblocks, CatchBlocks {{ history.pop(); }} before -> TryStatement, finalblock, Block {{ TryStatement it = (TryStatement) history.peek(); Block p = new Block(); it.set_finalblock(p); history.push(p); }} after -> TryStatement, finalblock, Block {{ history.pop(); }} before -> CatchBlocks, first, Nonempty_CatchBlocks {{ CatchBlocks it = (CatchBlocks) history.peek(); Nonempty_CatchBlocks p = new Nonempty_CatchBlocks(); it.set_first(p); history.push(p); }} after -> CatchBlocks, first, Nonempty_CatchBlocks {{ history.pop(); }} before -> CatchBlock, formalparameter, FormalParameter {{ CatchBlock it = (CatchBlock) history.peek(); FormalParameter p = new FormalParameter(); it.set_formalparameter(p); history.push(p); }} after -> CatchBlock, formalparameter, FormalParameter {{ history.pop(); }} before -> CatchBlock, block, Block {{ CatchBlock it = (CatchBlock) history.peek(); Block p = new Block(); it.set_block(p); history.push(p); }} after -> CatchBlock, block, Block {{ history.pop(); }} before -> PrintVisitor, indent, int {{ PrintVisitor it = (PrintVisitor) history.peek(); it.set_indent(dest); }} before -> PrintVisitor, needSpace, boolean {{ PrintVisitor it = (PrintVisitor) history.peek(); it.set_needSpace(dest); }} before -> SubgraphVisitor, is_equal, boolean {{ SubgraphVisitor it = (SubgraphVisitor) history.peek(); it.set_is_equal(dest); }} before -> EqualVisitor, is_equal, boolean {{ EqualVisitor it = (EqualVisitor) history.peek(); it.set_is_equal(dest); }} before -> DisplayVisitor, indent, int {{ DisplayVisitor it = (DisplayVisitor) history.peek(); it.set_indent(dest); }} before -> TraceVisitor, indent, int {{ TraceVisitor it = (TraceVisitor) history.peek(); it.set_indent(dest); }} before -> Nonempty_ImportDeclarations, it, ImportDeclaration {{ Nonempty_ImportDeclarations it = (Nonempty_ImportDeclarations) history.peek(); ImportDeclaration p = new ImportDeclaration(); it.set_it(p); history.push(p); }} after -> Nonempty_ImportDeclarations, it, ImportDeclaration {{ history.pop(); }} before -> Nonempty_ImportDeclarations, next, Nonempty_ImportDeclarations {{ Nonempty_ImportDeclarations it = (Nonempty_ImportDeclarations) history.peek(); Nonempty_ImportDeclarations p = new Nonempty_ImportDeclarations(); it.set_next(p); history.push(p); }} after -> Nonempty_ImportDeclarations, next, Nonempty_ImportDeclarations {{ history.pop(); }} before -> Nonempty_TypeDeclarations, it, TypeDeclaration {{ Nonempty_TypeDeclarations it = (Nonempty_TypeDeclarations) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((TypeDeclaration) p); history.push(p); }} after -> Nonempty_TypeDeclarations, it, TypeDeclaration {{ history.pop(); }} before -> Nonempty_TypeDeclarations, next, Nonempty_TypeDeclarations {{ Nonempty_TypeDeclarations it = (Nonempty_TypeDeclarations) history.peek(); Nonempty_TypeDeclarations p = new Nonempty_TypeDeclarations(); it.set_next(p); history.push(p); }} after -> Nonempty_TypeDeclarations, next, Nonempty_TypeDeclarations {{ history.pop(); }} before -> Nonempty_ClassModifiers, it, ClassModifier {{ Nonempty_ClassModifiers it = (Nonempty_ClassModifiers) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((ClassModifier) p); history.push(p); }} after -> Nonempty_ClassModifiers, it, ClassModifier {{ history.pop(); }} before -> Nonempty_ClassModifiers, next, Nonempty_ClassModifiers {{ Nonempty_ClassModifiers it = (Nonempty_ClassModifiers) history.peek(); Nonempty_ClassModifiers p = new Nonempty_ClassModifiers(); it.set_next(p); history.push(p); }} after -> Nonempty_ClassModifiers, next, Nonempty_ClassModifiers {{ history.pop(); }} before -> Nonempty_ClassBodyDeclarations, it, ClassBodyDeclaration {{ Nonempty_ClassBodyDeclarations it = (Nonempty_ClassBodyDeclarations) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((ClassBodyDeclaration) p); history.push(p); }} after -> Nonempty_ClassBodyDeclarations, it, ClassBodyDeclaration {{ history.pop(); }} before -> Nonempty_ClassBodyDeclarations, next, Nonempty_ClassBodyDeclarations {{ Nonempty_ClassBodyDeclarations it = (Nonempty_ClassBodyDeclarations) history.peek(); Nonempty_ClassBodyDeclarations p = new Nonempty_ClassBodyDeclarations(); it.set_next(p); history.push(p); }} after -> Nonempty_ClassBodyDeclarations, next, Nonempty_ClassBodyDeclarations {{ history.pop(); }} before -> Nonempty_NestedClassModifiers, it, NestedClassModifier {{ Nonempty_NestedClassModifiers it = (Nonempty_NestedClassModifiers) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((NestedClassModifier) p); history.push(p); }} after -> Nonempty_NestedClassModifiers, it, NestedClassModifier {{ history.pop(); }} before -> Nonempty_NestedClassModifiers, next, Nonempty_NestedClassModifiers {{ Nonempty_NestedClassModifiers it = (Nonempty_NestedClassModifiers) history.peek(); Nonempty_NestedClassModifiers p = new Nonempty_NestedClassModifiers(); it.set_next(p); history.push(p); }} after -> Nonempty_NestedClassModifiers, next, Nonempty_NestedClassModifiers {{ history.pop(); }} before -> Nonempty_InterfaceModifiers, it, InterfaceModifier {{ Nonempty_InterfaceModifiers it = (Nonempty_InterfaceModifiers) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((InterfaceModifier) p); history.push(p); }} after -> Nonempty_InterfaceModifiers, it, InterfaceModifier {{ history.pop(); }} before -> Nonempty_InterfaceModifiers, next, Nonempty_InterfaceModifiers {{ Nonempty_InterfaceModifiers it = (Nonempty_InterfaceModifiers) history.peek(); Nonempty_InterfaceModifiers p = new Nonempty_InterfaceModifiers(); it.set_next(p); history.push(p); }} after -> Nonempty_InterfaceModifiers, next, Nonempty_InterfaceModifiers {{ history.pop(); }} before -> Nonempty_NestedInterfaceModifiers, it, NestedInterfaceModifier {{ Nonempty_NestedInterfaceModifiers it = (Nonempty_NestedInterfaceModifiers) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((NestedInterfaceModifier) p); history.push(p); }} after -> Nonempty_NestedInterfaceModifiers, it, NestedInterfaceModifier {{ history.pop(); }} before -> Nonempty_NestedInterfaceModifiers, next, Nonempty_NestedInterfaceModifiers {{ Nonempty_NestedInterfaceModifiers it = (Nonempty_NestedInterfaceModifiers) history.peek(); Nonempty_NestedInterfaceModifiers p = new Nonempty_NestedInterfaceModifiers(); it.set_next(p); history.push(p); }} after -> Nonempty_NestedInterfaceModifiers, next, Nonempty_NestedInterfaceModifiers {{ history.pop(); }} before -> Nonempty_InterfaceMemberDeclarations, it, InterfaceMemberDeclaration {{ Nonempty_InterfaceMemberDeclarations it = (Nonempty_InterfaceMemberDeclarations) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((InterfaceMemberDeclaration) p); history.push(p); }} after -> Nonempty_InterfaceMemberDeclarations, it, InterfaceMemberDeclaration {{ history.pop(); }} before -> Nonempty_InterfaceMemberDeclarations, next, Nonempty_InterfaceMemberDeclarations {{ Nonempty_InterfaceMemberDeclarations it = (Nonempty_InterfaceMemberDeclarations) history.peek(); Nonempty_InterfaceMemberDeclarations p = new Nonempty_InterfaceMemberDeclarations(); it.set_next(p); history.push(p); }} after -> Nonempty_InterfaceMemberDeclarations, next, Nonempty_InterfaceMemberDeclarations {{ history.pop(); }} before -> Nonempty_FieldModifiers, it, FieldModifier {{ Nonempty_FieldModifiers it = (Nonempty_FieldModifiers) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((FieldModifier) p); history.push(p); }} after -> Nonempty_FieldModifiers, it, FieldModifier {{ history.pop(); }} before -> Nonempty_FieldModifiers, next, Nonempty_FieldModifiers {{ Nonempty_FieldModifiers it = (Nonempty_FieldModifiers) history.peek(); Nonempty_FieldModifiers p = new Nonempty_FieldModifiers(); it.set_next(p); history.push(p); }} after -> Nonempty_FieldModifiers, next, Nonempty_FieldModifiers {{ history.pop(); }} before -> Nonempty_VariableDeclarators, it, VariableDeclarator {{ Nonempty_VariableDeclarators it = (Nonempty_VariableDeclarators) history.peek(); VariableDeclarator p = new VariableDeclarator(); it.set_it(p); history.push(p); }} after -> Nonempty_VariableDeclarators, it, VariableDeclarator {{ history.pop(); }} before -> Nonempty_VariableDeclarators, next, Nonempty_VariableDeclarators {{ Nonempty_VariableDeclarators it = (Nonempty_VariableDeclarators) history.peek(); Nonempty_VariableDeclarators p = new Nonempty_VariableDeclarators(); it.set_next(p); history.push(p); }} after -> Nonempty_VariableDeclarators, next, Nonempty_VariableDeclarators {{ history.pop(); }} before -> Nonempty_SquareBrackets, it, SquareBracket {{ Nonempty_SquareBrackets it = (Nonempty_SquareBrackets) history.peek(); SquareBracket p = new SquareBracket(); it.set_it(p); history.push(p); }} after -> Nonempty_SquareBrackets, it, SquareBracket {{ history.pop(); }} before -> Nonempty_SquareBrackets, next, Nonempty_SquareBrackets {{ Nonempty_SquareBrackets it = (Nonempty_SquareBrackets) history.peek(); Nonempty_SquareBrackets p = new Nonempty_SquareBrackets(); it.set_next(p); history.push(p); }} after -> Nonempty_SquareBrackets, next, Nonempty_SquareBrackets {{ history.pop(); }} before -> Nonempty_VariableInitializers, it, VariableInitializer {{ Nonempty_VariableInitializers it = (Nonempty_VariableInitializers) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((VariableInitializer) p); history.push(p); }} after -> Nonempty_VariableInitializers, it, VariableInitializer {{ history.pop(); }} before -> Nonempty_VariableInitializers, next, Nonempty_VariableInitializers {{ Nonempty_VariableInitializers it = (Nonempty_VariableInitializers) history.peek(); Nonempty_VariableInitializers p = new Nonempty_VariableInitializers(); it.set_next(p); history.push(p); }} after -> Nonempty_VariableInitializers, next, Nonempty_VariableInitializers {{ history.pop(); }} before -> Nonempty_MethodModifiers, it, MethodModifier {{ Nonempty_MethodModifiers it = (Nonempty_MethodModifiers) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((MethodModifier) p); history.push(p); }} after -> Nonempty_MethodModifiers, it, MethodModifier {{ history.pop(); }} before -> Nonempty_MethodModifiers, next, Nonempty_MethodModifiers {{ Nonempty_MethodModifiers it = (Nonempty_MethodModifiers) history.peek(); Nonempty_MethodModifiers p = new Nonempty_MethodModifiers(); it.set_next(p); history.push(p); }} after -> Nonempty_MethodModifiers, next, Nonempty_MethodModifiers {{ history.pop(); }} before -> Nonempty_FormalParameterList, it, FormalParameter {{ Nonempty_FormalParameterList it = (Nonempty_FormalParameterList) history.peek(); FormalParameter p = new FormalParameter(); it.set_it(p); history.push(p); }} after -> Nonempty_FormalParameterList, it, FormalParameter {{ history.pop(); }} before -> Nonempty_FormalParameterList, next, Nonempty_FormalParameterList {{ Nonempty_FormalParameterList it = (Nonempty_FormalParameterList) history.peek(); Nonempty_FormalParameterList p = new Nonempty_FormalParameterList(); it.set_next(p); history.push(p); }} after -> Nonempty_FormalParameterList, next, Nonempty_FormalParameterList {{ history.pop(); }} before -> Nonempty_BlockStatements, it, BlockStatement {{ Nonempty_BlockStatements it = (Nonempty_BlockStatements) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((BlockStatement) p); history.push(p); }} after -> Nonempty_BlockStatements, it, BlockStatement {{ history.pop(); }} before -> Nonempty_BlockStatements, next, Nonempty_BlockStatements {{ Nonempty_BlockStatements it = (Nonempty_BlockStatements) history.peek(); Nonempty_BlockStatements p = new Nonempty_BlockStatements(); it.set_next(p); history.push(p); }} after -> Nonempty_BlockStatements, next, Nonempty_BlockStatements {{ history.pop(); }} before -> Nonempty_Name, it, Identifier {{ Nonempty_Name it = (Nonempty_Name) history.peek(); Identifier p = new Identifier(); it.set_it(p); history.push(p); }} after -> Nonempty_Name, it, Identifier {{ history.pop(); }} before -> Nonempty_Name, next, Nonempty_Name {{ Nonempty_Name it = (Nonempty_Name) history.peek(); Nonempty_Name p = new Nonempty_Name(); it.set_next(p); history.push(p); }} after -> Nonempty_Name, next, Nonempty_Name {{ history.pop(); }} before -> Nonempty_NameList, it, Name {{ Nonempty_NameList it = (Nonempty_NameList) history.peek(); Name p = new Name(); it.set_it(p); history.push(p); }} after -> Nonempty_NameList, it, Name {{ history.pop(); }} before -> Nonempty_NameList, next, Nonempty_NameList {{ Nonempty_NameList it = (Nonempty_NameList) history.peek(); Nonempty_NameList p = new Nonempty_NameList(); it.set_next(p); history.push(p); }} after -> Nonempty_NameList, next, Nonempty_NameList {{ history.pop(); }} before -> Nonempty_ConditionalOrExpression, it, ConditionalAndExpression {{ Nonempty_ConditionalOrExpression it = (Nonempty_ConditionalOrExpression) history.peek(); ConditionalAndExpression p = new ConditionalAndExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_ConditionalOrExpression, it, ConditionalAndExpression {{ history.pop(); }} before -> Nonempty_ConditionalOrExpression, next, Nonempty_ConditionalOrExpression {{ Nonempty_ConditionalOrExpression it = (Nonempty_ConditionalOrExpression) history.peek(); Nonempty_ConditionalOrExpression p = new Nonempty_ConditionalOrExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_ConditionalOrExpression, next, Nonempty_ConditionalOrExpression {{ history.pop(); }} before -> Nonempty_ConditionalAndExpression, it, InclusiveOrExpression {{ Nonempty_ConditionalAndExpression it = (Nonempty_ConditionalAndExpression) history.peek(); InclusiveOrExpression p = new InclusiveOrExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_ConditionalAndExpression, it, InclusiveOrExpression {{ history.pop(); }} before -> Nonempty_ConditionalAndExpression, next, Nonempty_ConditionalAndExpression {{ Nonempty_ConditionalAndExpression it = (Nonempty_ConditionalAndExpression) history.peek(); Nonempty_ConditionalAndExpression p = new Nonempty_ConditionalAndExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_ConditionalAndExpression, next, Nonempty_ConditionalAndExpression {{ history.pop(); }} before -> Nonempty_InclusiveOrExpression, it, ExclusiveOrExpression {{ Nonempty_InclusiveOrExpression it = (Nonempty_InclusiveOrExpression) history.peek(); ExclusiveOrExpression p = new ExclusiveOrExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_InclusiveOrExpression, it, ExclusiveOrExpression {{ history.pop(); }} before -> Nonempty_InclusiveOrExpression, next, Nonempty_InclusiveOrExpression {{ Nonempty_InclusiveOrExpression it = (Nonempty_InclusiveOrExpression) history.peek(); Nonempty_InclusiveOrExpression p = new Nonempty_InclusiveOrExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_InclusiveOrExpression, next, Nonempty_InclusiveOrExpression {{ history.pop(); }} before -> Nonempty_ExclusiveOrExpression, it, AndExpression {{ Nonempty_ExclusiveOrExpression it = (Nonempty_ExclusiveOrExpression) history.peek(); AndExpression p = new AndExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_ExclusiveOrExpression, it, AndExpression {{ history.pop(); }} before -> Nonempty_ExclusiveOrExpression, next, Nonempty_ExclusiveOrExpression {{ Nonempty_ExclusiveOrExpression it = (Nonempty_ExclusiveOrExpression) history.peek(); Nonempty_ExclusiveOrExpression p = new Nonempty_ExclusiveOrExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_ExclusiveOrExpression, next, Nonempty_ExclusiveOrExpression {{ history.pop(); }} before -> Nonempty_AndExpression, it, EqualityExpression {{ Nonempty_AndExpression it = (Nonempty_AndExpression) history.peek(); EqualityExpression p = new EqualityExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_AndExpression, it, EqualityExpression {{ history.pop(); }} before -> Nonempty_AndExpression, next, Nonempty_AndExpression {{ Nonempty_AndExpression it = (Nonempty_AndExpression) history.peek(); Nonempty_AndExpression p = new Nonempty_AndExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_AndExpression, next, Nonempty_AndExpression {{ history.pop(); }} before -> Nonempty_RHSEqualityExpression, it, RInstanceOfExpression {{ Nonempty_RHSEqualityExpression it = (Nonempty_RHSEqualityExpression) history.peek(); RInstanceOfExpression p = new RInstanceOfExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_RHSEqualityExpression, it, RInstanceOfExpression {{ history.pop(); }} before -> Nonempty_RHSEqualityExpression, next, Nonempty_RHSEqualityExpression {{ Nonempty_RHSEqualityExpression it = (Nonempty_RHSEqualityExpression) history.peek(); Nonempty_RHSEqualityExpression p = new Nonempty_RHSEqualityExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_RHSEqualityExpression, next, Nonempty_RHSEqualityExpression {{ history.pop(); }} before -> Nonempty_RHSRelationalExpression, it, RShiftExpression {{ Nonempty_RHSRelationalExpression it = (Nonempty_RHSRelationalExpression) history.peek(); RShiftExpression p = new RShiftExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_RHSRelationalExpression, it, RShiftExpression {{ history.pop(); }} before -> Nonempty_RHSRelationalExpression, next, Nonempty_RHSRelationalExpression {{ Nonempty_RHSRelationalExpression it = (Nonempty_RHSRelationalExpression) history.peek(); Nonempty_RHSRelationalExpression p = new Nonempty_RHSRelationalExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_RHSRelationalExpression, next, Nonempty_RHSRelationalExpression {{ history.pop(); }} before -> Nonempty_RHSShiftExpression, it, RAdditiveExpression {{ Nonempty_RHSShiftExpression it = (Nonempty_RHSShiftExpression) history.peek(); RAdditiveExpression p = new RAdditiveExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_RHSShiftExpression, it, RAdditiveExpression {{ history.pop(); }} before -> Nonempty_RHSShiftExpression, next, Nonempty_RHSShiftExpression {{ Nonempty_RHSShiftExpression it = (Nonempty_RHSShiftExpression) history.peek(); Nonempty_RHSShiftExpression p = new Nonempty_RHSShiftExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_RHSShiftExpression, next, Nonempty_RHSShiftExpression {{ history.pop(); }} before -> Nonempty_RHSAdditiveExpression, it, RMultiplicativeExpression {{ Nonempty_RHSAdditiveExpression it = (Nonempty_RHSAdditiveExpression) history.peek(); RMultiplicativeExpression p = new RMultiplicativeExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_RHSAdditiveExpression, it, RMultiplicativeExpression {{ history.pop(); }} before -> Nonempty_RHSAdditiveExpression, next, Nonempty_RHSAdditiveExpression {{ Nonempty_RHSAdditiveExpression it = (Nonempty_RHSAdditiveExpression) history.peek(); Nonempty_RHSAdditiveExpression p = new Nonempty_RHSAdditiveExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_RHSAdditiveExpression, next, Nonempty_RHSAdditiveExpression {{ history.pop(); }} before -> Nonempty_RHSMultiplicativeExpression, it, RUnaryExpression {{ Nonempty_RHSMultiplicativeExpression it = (Nonempty_RHSMultiplicativeExpression) history.peek(); RUnaryExpression p = new RUnaryExpression(); it.set_it(p); history.push(p); }} after -> Nonempty_RHSMultiplicativeExpression, it, RUnaryExpression {{ history.pop(); }} before -> Nonempty_RHSMultiplicativeExpression, next, Nonempty_RHSMultiplicativeExpression {{ Nonempty_RHSMultiplicativeExpression it = (Nonempty_RHSMultiplicativeExpression) history.peek(); Nonempty_RHSMultiplicativeExpression p = new Nonempty_RHSMultiplicativeExpression(); it.set_next(p); history.push(p); }} after -> Nonempty_RHSMultiplicativeExpression, next, Nonempty_RHSMultiplicativeExpression {{ history.pop(); }} before -> Nonempty_PrimarySuffixes, it, PrimarySuffix {{ Nonempty_PrimarySuffixes it = (Nonempty_PrimarySuffixes) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((PrimarySuffix) p); history.push(p); }} after -> Nonempty_PrimarySuffixes, it, PrimarySuffix {{ history.pop(); }} before -> Nonempty_PrimarySuffixes, next, Nonempty_PrimarySuffixes {{ Nonempty_PrimarySuffixes it = (Nonempty_PrimarySuffixes) history.peek(); Nonempty_PrimarySuffixes p = new Nonempty_PrimarySuffixes(); it.set_next(p); history.push(p); }} after -> Nonempty_PrimarySuffixes, next, Nonempty_PrimarySuffixes {{ history.pop(); }} before -> Nonempty_ArgumentList, it, Expression {{ Nonempty_ArgumentList it = (Nonempty_ArgumentList) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((Expression) p); history.push(p); }} after -> Nonempty_ArgumentList, it, Expression {{ history.pop(); }} before -> Nonempty_ArgumentList, next, Nonempty_ArgumentList {{ Nonempty_ArgumentList it = (Nonempty_ArgumentList) history.peek(); Nonempty_ArgumentList p = new Nonempty_ArgumentList(); it.set_next(p); history.push(p); }} after -> Nonempty_ArgumentList, next, Nonempty_ArgumentList {{ history.pop(); }} before -> Nonempty_ArrayDimension, it, DimExp {{ Nonempty_ArrayDimension it = (Nonempty_ArrayDimension) history.peek(); DimExp p = new DimExp(); it.set_it(p); history.push(p); }} after -> Nonempty_ArrayDimension, it, DimExp {{ history.pop(); }} before -> Nonempty_ArrayDimension, next, Nonempty_ArrayDimension {{ Nonempty_ArrayDimension it = (Nonempty_ArrayDimension) history.peek(); Nonempty_ArrayDimension p = new Nonempty_ArrayDimension(); it.set_next(p); history.push(p); }} after -> Nonempty_ArrayDimension, next, Nonempty_ArrayDimension {{ history.pop(); }} before -> Nonempty_CaseBlocks, it, CaseBlock {{ Nonempty_CaseBlocks it = (Nonempty_CaseBlocks) history.peek(); CaseBlock p = new CaseBlock(); it.set_it(p); history.push(p); }} after -> Nonempty_CaseBlocks, it, CaseBlock {{ history.pop(); }} before -> Nonempty_CaseBlocks, next, Nonempty_CaseBlocks {{ Nonempty_CaseBlocks it = (Nonempty_CaseBlocks) history.peek(); Nonempty_CaseBlocks p = new Nonempty_CaseBlocks(); it.set_next(p); history.push(p); }} after -> Nonempty_CaseBlocks, next, Nonempty_CaseBlocks {{ history.pop(); }} before -> Nonempty_StatementExpressionList, it, StatementExpression {{ Nonempty_StatementExpressionList it = (Nonempty_StatementExpressionList) history.peek(); Class c = dest.getClass(); Object p = null; try { p = c.newInstance(); } catch(Exception e) { e.printStackTrace(); } it.set_it((StatementExpression) p); history.push(p); }} after -> Nonempty_StatementExpressionList, it, StatementExpression {{ history.pop(); }} before -> Nonempty_StatementExpressionList, next, Nonempty_StatementExpressionList {{ Nonempty_StatementExpressionList it = (Nonempty_StatementExpressionList) history.peek(); Nonempty_StatementExpressionList p = new Nonempty_StatementExpressionList(); it.set_next(p); history.push(p); }} after -> Nonempty_StatementExpressionList, next, Nonempty_StatementExpressionList {{ history.pop(); }} before -> Nonempty_CatchBlocks, it, CatchBlock {{ Nonempty_CatchBlocks it = (Nonempty_CatchBlocks) history.peek(); CatchBlock p = new CatchBlock(); it.set_it(p); history.push(p); }} after -> Nonempty_CatchBlocks, it, CatchBlock {{ history.pop(); }} before -> Nonempty_CatchBlocks, next, Nonempty_CatchBlocks {{ Nonempty_CatchBlocks it = (Nonempty_CatchBlocks) history.peek(); Nonempty_CatchBlocks p = new Nonempty_CatchBlocks(); it.set_next(p); history.push(p); }} after -> Nonempty_CatchBlocks, next, Nonempty_CatchBlocks {{ history.pop(); }} }