// This file is automatically generated by DemeterJ. DisplayVisitor { {{ protected java.io.PrintWriter out = new java.io.PrintWriter(System.out, true); java.io.PrintWriter get_out() { return out; } void set_out(java.io.PrintWriter new_out) { out = new_out; } DisplayVisitor(java.io.PrintWriter out) { set_out(out); } DisplayVisitor(java.io.PrintStream out) { set_out(new java.io.PrintWriter(out, true)); } }} finish {{ out.flush(); }} before CompilationUnit {{ out.print(": CompilationUnit ("); indent++; }} after CompilationUnit {{ out.print(" )"); indent--; }} before -> CompilationUnit, packagedeclaration, PackageDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> CompilationUnit, importdeclarations, ImportDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> CompilationUnit, typedeclarations, TypeDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before PackageDeclaration {{ out.print(": PackageDeclaration ("); indent++; }} after PackageDeclaration {{ out.print(" )"); indent--; }} before -> PackageDeclaration, name, Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ImportDeclarations {{ out.print(": ImportDeclarations {"); indent++; }} after ImportDeclarations {{ out.print(" }"); indent--; }} before -> ImportDeclarations, first, Nonempty_ImportDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ImportDeclaration {{ out.print(": ImportDeclaration ("); indent++; }} after ImportDeclaration {{ out.print(" )"); indent--; }} before -> ImportDeclaration, name, Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ImportDeclaration, dotstar, DotStar {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before DotStar {{ out.print(": DotStar ("); indent++; }} after DotStar {{ out.print(" )"); indent--; }} before TypeDeclarations {{ out.print(": TypeDeclarations {"); indent++; }} after TypeDeclarations {{ out.print(" }"); indent--; }} before -> TypeDeclarations, first, Nonempty_TypeDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SemiColonTD {{ out.print(": SemiColonTD ("); indent++; }} after SemiColonTD {{ out.print(" )"); indent--; }} before -> SemiColonTD, semicolon, SemiColon {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ClassDeclaration {{ out.print(": ClassDeclaration ("); indent++; }} after ClassDeclaration {{ out.print(" )"); indent--; }} before -> ClassDeclaration, classmodifiers, ClassModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ClassDeclaration, unmodifiedclassdeclaration, UnmodifiedClassDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ClassModifiers {{ out.print(": ClassModifiers {"); indent++; }} after ClassModifiers {{ out.print(" }"); indent--; }} before -> ClassModifiers, first, Nonempty_ClassModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CM_Abstract {{ out.print(": CM_Abstract ("); indent++; }} after CM_Abstract {{ out.print(" )"); indent--; }} before -> CM_Abstract, cabstract, CAbstract {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CM_Final {{ out.print(": CM_Final ("); indent++; }} after CM_Final {{ out.print(" )"); indent--; }} before -> CM_Final, cfinal, CFinal {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CM_Public {{ out.print(": CM_Public ("); indent++; }} after CM_Public {{ out.print(" )"); indent--; }} before -> CM_Public, cpublic, CPublic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before UnmodifiedClassDeclaration {{ out.print(": UnmodifiedClassDeclaration ("); indent++; }} after UnmodifiedClassDeclaration {{ out.print(" )"); indent--; }} before -> UnmodifiedClassDeclaration, ident, Ident {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Ident"); out.print(" \"" + source.get_ident() + "\""); }} before -> UnmodifiedClassDeclaration, name, Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> UnmodifiedClassDeclaration, namelist, NameList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> UnmodifiedClassDeclaration, classbody, ClassBody {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ClassBody {{ out.print(": ClassBody ("); indent++; }} after ClassBody {{ out.print(" )"); indent--; }} before -> ClassBody, classbodydeclarations, ClassBodyDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ClassBodyDeclarations {{ out.print(": ClassBodyDeclarations {"); indent++; }} after ClassBodyDeclarations {{ out.print(" }"); indent--; }} before -> ClassBodyDeclarations, first, Nonempty_ClassBodyDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NestedClassDeclaration {{ out.print(": NestedClassDeclaration ("); indent++; }} after NestedClassDeclaration {{ out.print(" )"); indent--; }} before -> NestedClassDeclaration, nestedclassmodifiers, NestedClassModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> NestedClassDeclaration, unmodifiedclassdeclaration, UnmodifiedClassDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NestedClassModifiers {{ out.print(": NestedClassModifiers {"); indent++; }} after NestedClassModifiers {{ out.print(" }"); indent--; }} before -> NestedClassModifiers, first, Nonempty_NestedClassModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NCM_Static {{ out.print(": NCM_Static ("); indent++; }} after NCM_Static {{ out.print(" )"); indent--; }} before -> NCM_Static, cstatic, CStatic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NCM_Abstract {{ out.print(": NCM_Abstract ("); indent++; }} after NCM_Abstract {{ out.print(" )"); indent--; }} before -> NCM_Abstract, cabstract, CAbstract {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NCM_Final {{ out.print(": NCM_Final ("); indent++; }} after NCM_Final {{ out.print(" )"); indent--; }} before -> NCM_Final, cfinal, CFinal {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NCM_Public {{ out.print(": NCM_Public ("); indent++; }} after NCM_Public {{ out.print(" )"); indent--; }} before -> NCM_Public, cpublic, CPublic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NCM_Protected {{ out.print(": NCM_Protected ("); indent++; }} after NCM_Protected {{ out.print(" )"); indent--; }} before -> NCM_Protected, cprotected, CProtected {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NCM_Private {{ out.print(": NCM_Private ("); indent++; }} after NCM_Private {{ out.print(" )"); indent--; }} before -> NCM_Private, cprivate, CPrivate {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CBD_NestedClassDeclaration {{ out.print(": CBD_NestedClassDeclaration ("); indent++; }} after CBD_NestedClassDeclaration {{ out.print(" )"); indent--; }} before -> CBD_NestedClassDeclaration, nestedclassdeclaration, NestedClassDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CBD_NestedInterfaceDeclaration {{ out.print(": CBD_NestedInterfaceDeclaration ("); indent++; }} after CBD_NestedInterfaceDeclaration {{ out.print(" )"); indent--; }} before -> CBD_NestedInterfaceDeclaration, nestedinterfacedeclaration, NestedInterfaceDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CBD_MethodDeclaration {{ out.print(": CBD_MethodDeclaration ("); indent++; }} after CBD_MethodDeclaration {{ out.print(" )"); indent--; }} before -> CBD_MethodDeclaration, methoddeclaration, MethodDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CBD_FieldDeclaration {{ out.print(": CBD_FieldDeclaration ("); indent++; }} after CBD_FieldDeclaration {{ out.print(" )"); indent--; }} before -> CBD_FieldDeclaration, fielddeclaration, FieldDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before InterfaceDeclaration {{ out.print(": InterfaceDeclaration ("); indent++; }} after InterfaceDeclaration {{ out.print(" )"); indent--; }} before -> InterfaceDeclaration, interfacemodifiers, InterfaceModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> InterfaceDeclaration, unmodifiedinterfacedeclaration, UnmodifiedInterfaceDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before InterfaceModifiers {{ out.print(": InterfaceModifiers {"); indent++; }} after InterfaceModifiers {{ out.print(" }"); indent--; }} before -> InterfaceModifiers, first, Nonempty_InterfaceModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before IM_Abstract {{ out.print(": IM_Abstract ("); indent++; }} after IM_Abstract {{ out.print(" )"); indent--; }} before -> IM_Abstract, cabstract, CAbstract {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before IM_Public {{ out.print(": IM_Public ("); indent++; }} after IM_Public {{ out.print(" )"); indent--; }} before -> IM_Public, cpublic, CPublic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NestedInterfaceDeclaration {{ out.print(": NestedInterfaceDeclaration ("); indent++; }} after NestedInterfaceDeclaration {{ out.print(" )"); indent--; }} before -> NestedInterfaceDeclaration, nestedinterfacemodifiers, NestedInterfaceModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> NestedInterfaceDeclaration, unmodifiedinterfacedeclaration, UnmodifiedInterfaceDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NestedInterfaceModifiers {{ out.print(": NestedInterfaceModifiers {"); indent++; }} after NestedInterfaceModifiers {{ out.print(" }"); indent--; }} before -> NestedInterfaceModifiers, first, Nonempty_NestedInterfaceModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NIM_Static {{ out.print(": NIM_Static ("); indent++; }} after NIM_Static {{ out.print(" )"); indent--; }} before -> NIM_Static, cstatic, CStatic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NIM_Abstract {{ out.print(": NIM_Abstract ("); indent++; }} after NIM_Abstract {{ out.print(" )"); indent--; }} before -> NIM_Abstract, cabstract, CAbstract {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NIM_Final {{ out.print(": NIM_Final ("); indent++; }} after NIM_Final {{ out.print(" )"); indent--; }} before -> NIM_Final, cfinal, CFinal {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NIM_Public {{ out.print(": NIM_Public ("); indent++; }} after NIM_Public {{ out.print(" )"); indent--; }} before -> NIM_Public, cpublic, CPublic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NIM_Protected {{ out.print(": NIM_Protected ("); indent++; }} after NIM_Protected {{ out.print(" )"); indent--; }} before -> NIM_Protected, cprotected, CProtected {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NIM_Private {{ out.print(": NIM_Private ("); indent++; }} after NIM_Private {{ out.print(" )"); indent--; }} before -> NIM_Private, cprivate, CPrivate {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before UnmodifiedInterfaceDeclaration {{ out.print(": UnmodifiedInterfaceDeclaration ("); indent++; }} after UnmodifiedInterfaceDeclaration {{ out.print(" )"); indent--; }} before -> UnmodifiedInterfaceDeclaration, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> UnmodifiedInterfaceDeclaration, namelist, NameList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> UnmodifiedInterfaceDeclaration, interfacememberdeclarations, InterfaceMemberDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before InterfaceMemberDeclarations {{ out.print(": InterfaceMemberDeclarations {"); indent++; }} after InterfaceMemberDeclarations {{ out.print(" }"); indent--; }} before -> InterfaceMemberDeclarations, first, Nonempty_InterfaceMemberDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before IMD_NestedClassDeclaration {{ out.print(": IMD_NestedClassDeclaration ("); indent++; }} after IMD_NestedClassDeclaration {{ out.print(" )"); indent--; }} before -> IMD_NestedClassDeclaration, nestedclassdeclaration, NestedClassDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before IMD_NestedInterfaceDeclaration {{ out.print(": IMD_NestedInterfaceDeclaration ("); indent++; }} after IMD_NestedInterfaceDeclaration {{ out.print(" )"); indent--; }} before -> IMD_NestedInterfaceDeclaration, nestedinterfacedeclaration, NestedInterfaceDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before IMD_MethodDeclaration {{ out.print(": IMD_MethodDeclaration ("); indent++; }} after IMD_MethodDeclaration {{ out.print(" )"); indent--; }} before -> IMD_MethodDeclaration, methoddeclaration, MethodDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before IMD_FieldDeclaration {{ out.print(": IMD_FieldDeclaration ("); indent++; }} after IMD_FieldDeclaration {{ out.print(" )"); indent--; }} before -> IMD_FieldDeclaration, fielddeclaration, FieldDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FieldDeclaration {{ out.print(": FieldDeclaration ("); indent++; }} after FieldDeclaration {{ out.print(" )"); indent--; }} before -> FieldDeclaration, fieldmodifiers, FieldModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> FieldDeclaration, type, Type {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> FieldDeclaration, variabledeclarators, VariableDeclarators {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FieldModifiers {{ out.print(": FieldModifiers {"); indent++; }} after FieldModifiers {{ out.print(" }"); indent--; }} before -> FieldModifiers, first, Nonempty_FieldModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FM_Public {{ out.print(": FM_Public ("); indent++; }} after FM_Public {{ out.print(" )"); indent--; }} before -> FM_Public, cpublic, CPublic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FM_Protected {{ out.print(": FM_Protected ("); indent++; }} after FM_Protected {{ out.print(" )"); indent--; }} before -> FM_Protected, cprotected, CProtected {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FM_Private {{ out.print(": FM_Private ("); indent++; }} after FM_Private {{ out.print(" )"); indent--; }} before -> FM_Private, cprivate, CPrivate {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FM_Static {{ out.print(": FM_Static ("); indent++; }} after FM_Static {{ out.print(" )"); indent--; }} before -> FM_Static, cstatic, CStatic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FM_Final {{ out.print(": FM_Final ("); indent++; }} after FM_Final {{ out.print(" )"); indent--; }} before -> FM_Final, cfinal, CFinal {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FM_Transient {{ out.print(": FM_Transient ("); indent++; }} after FM_Transient {{ out.print(" )"); indent--; }} before -> FM_Transient, ctransient, CTransient {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FM_Volatile {{ out.print(": FM_Volatile ("); indent++; }} after FM_Volatile {{ out.print(" )"); indent--; }} before -> FM_Volatile, cvolatile, CVolatile {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before VariableDeclarators {{ out.print(": VariableDeclarators {"); indent++; }} after VariableDeclarators {{ out.print(" }"); indent--; }} before -> VariableDeclarators, first, Nonempty_VariableDeclarators {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before VariableDeclarator {{ out.print(": VariableDeclarator ("); indent++; }} after VariableDeclarator {{ out.print(" )"); indent--; }} before -> VariableDeclarator, variabledeclaratorid, VariableDeclaratorId {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> VariableDeclarator, variableinitializer, VariableInitializer {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before VariableDeclaratorId {{ out.print(": VariableDeclaratorId ("); indent++; }} after VariableDeclaratorId {{ out.print(" )"); indent--; }} before -> VariableDeclaratorId, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> VariableDeclaratorId, squarebrackets, SquareBrackets {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SquareBrackets {{ out.print(": SquareBrackets {"); indent++; }} after SquareBrackets {{ out.print(" }"); indent--; }} before -> SquareBrackets, first, Nonempty_SquareBrackets {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SquareBracket {{ out.print(": SquareBracket ("); indent++; }} after SquareBracket {{ out.print(" )"); indent--; }} before ArrayInitializer {{ out.print(": ArrayInitializer ("); indent++; }} after ArrayInitializer {{ out.print(" )"); indent--; }} before -> ArrayInitializer, variableinitializers, VariableInitializers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ArrayInitializer, comma, Comma {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before VariableInitializers {{ out.print(": VariableInitializers {"); indent++; }} after VariableInitializers {{ out.print(" }"); indent--; }} before -> VariableInitializers, first, Nonempty_VariableInitializers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Comma {{ out.print(": Comma ("); indent++; }} after Comma {{ out.print(" )"); indent--; }} before MethodDeclaration {{ out.print(": MethodDeclaration ("); indent++; }} after MethodDeclaration {{ out.print(" )"); indent--; }} before -> MethodDeclaration, methodmodifiers, MethodModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> MethodDeclaration, resulttype, ResultType {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> MethodDeclaration, methoddeclarator, MethodDeclarator {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> MethodDeclaration, namelist, NameList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> MethodDeclaration, anyblock, AnyBlock {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MethodModifiers {{ out.print(": MethodModifiers {"); indent++; }} after MethodModifiers {{ out.print(" }"); indent--; }} before -> MethodModifiers, first, Nonempty_MethodModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MM_Public {{ out.print(": MM_Public ("); indent++; }} after MM_Public {{ out.print(" )"); indent--; }} before -> MM_Public, cpublic, CPublic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MM_Protected {{ out.print(": MM_Protected ("); indent++; }} after MM_Protected {{ out.print(" )"); indent--; }} before -> MM_Protected, cprotected, CProtected {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MM_Private {{ out.print(": MM_Private ("); indent++; }} after MM_Private {{ out.print(" )"); indent--; }} before -> MM_Private, cprivate, CPrivate {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MM_Static {{ out.print(": MM_Static ("); indent++; }} after MM_Static {{ out.print(" )"); indent--; }} before -> MM_Static, cstatic, CStatic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MM_Abstract {{ out.print(": MM_Abstract ("); indent++; }} after MM_Abstract {{ out.print(" )"); indent--; }} before -> MM_Abstract, cabstract, CAbstract {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MM_Final {{ out.print(": MM_Final ("); indent++; }} after MM_Final {{ out.print(" )"); indent--; }} before -> MM_Final, cfinal, CFinal {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MM_Native {{ out.print(": MM_Native ("); indent++; }} after MM_Native {{ out.print(" )"); indent--; }} before -> MM_Native, cnative, CNative {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MM_Synchronized {{ out.print(": MM_Synchronized ("); indent++; }} after MM_Synchronized {{ out.print(" )"); indent--; }} before -> MM_Synchronized, csynchronized, CSynchronized {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before A_Block {{ out.print(": A_Block ("); indent++; }} after A_Block {{ out.print(" )"); indent--; }} before -> A_Block, block, Block {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before A_SemiColon {{ out.print(": A_SemiColon ("); indent++; }} after A_SemiColon {{ out.print(" )"); indent--; }} before -> A_SemiColon, semicolon, SemiColon {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before MethodDeclarator {{ out.print(": MethodDeclarator ("); indent++; }} after MethodDeclarator {{ out.print(" )"); indent--; }} before -> MethodDeclarator, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> MethodDeclarator, formalparameters, FormalParameters {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> MethodDeclarator, squarebrackets, SquareBrackets {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FormalParameters {{ out.print(": FormalParameters ("); indent++; }} after FormalParameters {{ out.print(" )"); indent--; }} before -> FormalParameters, formalparameterlist, FormalParameterList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FormalParameterList {{ out.print(": FormalParameterList {"); indent++; }} after FormalParameterList {{ out.print(" }"); indent--; }} before -> FormalParameterList, first, Nonempty_FormalParameterList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before FormalParameter {{ out.print(": FormalParameter ("); indent++; }} after FormalParameter {{ out.print(" )"); indent--; }} before -> FormalParameter, cfinal, CFinal {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> FormalParameter, type, Type {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> FormalParameter, variabledeclaratorid, VariableDeclaratorId {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ConstructorDeclaration {{ out.print(": ConstructorDeclaration ("); indent++; }} after ConstructorDeclaration {{ out.print(" )"); indent--; }} before -> ConstructorDeclaration, constructormodifier, ConstructorModifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ConstructorDeclaration, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ConstructorDeclaration, formalparameters, FormalParameters {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ConstructorDeclaration, namelist, NameList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ConstructorDeclaration, explicitconstructorinvocation, ExplicitConstructorInvocation {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ConstructorDeclaration, blockstatements, BlockStatements {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CSM_Public {{ out.print(": CSM_Public ("); indent++; }} after CSM_Public {{ out.print(" )"); indent--; }} before -> CSM_Public, cpublic, CPublic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CSM_Protected {{ out.print(": CSM_Protected ("); indent++; }} after CSM_Protected {{ out.print(" )"); indent--; }} before -> CSM_Protected, cprotected, CProtected {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CSM_Private {{ out.print(": CSM_Private ("); indent++; }} after CSM_Private {{ out.print(" )"); indent--; }} before -> CSM_Private, cprivate, CPrivate {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before BlockStatements {{ out.print(": BlockStatements {"); indent++; }} after BlockStatements {{ out.print(" }"); indent--; }} before -> BlockStatements, first, Nonempty_BlockStatements {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ThisConsInvoc {{ out.print(": ThisConsInvoc ("); indent++; }} after ThisConsInvoc {{ out.print(" )"); indent--; }} before -> ThisConsInvoc, arguments, Arguments {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SuperConsInvoc {{ out.print(": SuperConsInvoc ("); indent++; }} after SuperConsInvoc {{ out.print(" )"); indent--; }} before -> SuperConsInvoc, primaryexpression, PrimaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> SuperConsInvoc, arguments, Arguments {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Initializer {{ out.print(": Initializer ("); indent++; }} after Initializer {{ out.print(" )"); indent--; }} before -> Initializer, cstatic, CStatic {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Initializer, block, Block {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CPublic {{ out.print(": CPublic ("); indent++; }} after CPublic {{ out.print(" )"); indent--; }} before CProtected {{ out.print(": CProtected ("); indent++; }} after CProtected {{ out.print(" )"); indent--; }} before CPrivate {{ out.print(": CPrivate ("); indent++; }} after CPrivate {{ out.print(" )"); indent--; }} before CStatic {{ out.print(": CStatic ("); indent++; }} after CStatic {{ out.print(" )"); indent--; }} before CAbstract {{ out.print(": CAbstract ("); indent++; }} after CAbstract {{ out.print(" )"); indent--; }} before CFinal {{ out.print(": CFinal ("); indent++; }} after CFinal {{ out.print(" )"); indent--; }} before CNative {{ out.print(": CNative ("); indent++; }} after CNative {{ out.print(" )"); indent--; }} before CSynchronized {{ out.print(": CSynchronized ("); indent++; }} after CSynchronized {{ out.print(" )"); indent--; }} before CTransient {{ out.print(": CTransient ("); indent++; }} after CTransient {{ out.print(" )"); indent--; }} before CVolatile {{ out.print(": CVolatile ("); indent++; }} after CVolatile {{ out.print(" )"); indent--; }} before Type {{ out.print(": Type ("); indent++; }} after Type {{ out.print(" )"); indent--; }} before -> Type, typealt, TypeAlt {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Type, squarebrackets, SquareBrackets {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before TName {{ out.print(": TName ("); indent++; }} after TName {{ out.print(" )"); indent--; }} before -> TName, name, Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before boolType {{ out.print(": boolType ("); indent++; }} after boolType {{ out.print(" )"); indent--; }} before byteType {{ out.print(": byteType ("); indent++; }} after byteType {{ out.print(" )"); indent--; }} before charType {{ out.print(": charType ("); indent++; }} after charType {{ out.print(" )"); indent--; }} before shortType {{ out.print(": shortType ("); indent++; }} after shortType {{ out.print(" )"); indent--; }} before intType {{ out.print(": intType ("); indent++; }} after intType {{ out.print(" )"); indent--; }} before floatType {{ out.print(": floatType ("); indent++; }} after floatType {{ out.print(" )"); indent--; }} before longType {{ out.print(": longType ("); indent++; }} after longType {{ out.print(" )"); indent--; }} before doubleType {{ out.print(": doubleType ("); indent++; }} after doubleType {{ out.print(" )"); indent--; }} before Void {{ out.print(": Void ("); indent++; }} after Void {{ out.print(" )"); indent--; }} before Name {{ out.print(": Name {"); indent++; }} after Name {{ out.print(" }"); indent--; }} before -> Name, first, Nonempty_Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NameList {{ out.print(": NameList {"); indent++; }} after NameList {{ out.print(" }"); indent--; }} before -> NameList, first, Nonempty_NameList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Identifier {{ out.print(": Identifier ("); indent++; }} after Identifier {{ out.print(" )"); indent--; }} before -> Identifier, ident, Ident {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Ident"); out.print(" \"" + source.get_ident() + "\""); }} before SemiColon {{ out.print(": SemiColon ("); indent++; }} after SemiColon {{ out.print(" )"); indent--; }} before E_Assignment {{ out.print(": E_Assignment ("); indent++; }} after E_Assignment {{ out.print(" )"); indent--; }} before -> E_Assignment, assignment, Assignment {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Assignment {{ out.print(": Assignment ("); indent++; }} after Assignment {{ out.print(" )"); indent--; }} before -> Assignment, primaryexpression, PrimaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Assignment, assignmentoperator, AssignmentOperator {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Assignment, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Eq {{ out.print(": Eq ("); indent++; }} after Eq {{ out.print(" )"); indent--; }} before starEq {{ out.print(": starEq ("); indent++; }} after starEq {{ out.print(" )"); indent--; }} before divEq {{ out.print(": divEq ("); indent++; }} after divEq {{ out.print(" )"); indent--; }} before modEq {{ out.print(": modEq ("); indent++; }} after modEq {{ out.print(" )"); indent--; }} before plEq {{ out.print(": plEq ("); indent++; }} after plEq {{ out.print(" )"); indent--; }} before minEq {{ out.print(": minEq ("); indent++; }} after minEq {{ out.print(" )"); indent--; }} before lshiftEq {{ out.print(": lshiftEq ("); indent++; }} after lshiftEq {{ out.print(" )"); indent--; }} before rshiftEq {{ out.print(": rshiftEq ("); indent++; }} after rshiftEq {{ out.print(" )"); indent--; }} before rrshiftEq {{ out.print(": rrshiftEq ("); indent++; }} after rrshiftEq {{ out.print(" )"); indent--; }} before andEq {{ out.print(": andEq ("); indent++; }} after andEq {{ out.print(" )"); indent--; }} before xorEq {{ out.print(": xorEq ("); indent++; }} after xorEq {{ out.print(" )"); indent--; }} before orEq {{ out.print(": orEq ("); indent++; }} after orEq {{ out.print(" )"); indent--; }} before ConditionalExpression {{ out.print(": ConditionalExpression ("); indent++; }} after ConditionalExpression {{ out.print(" )"); indent--; }} before -> ConditionalExpression, conditionalorexpression, ConditionalOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ConditionalExpression, ternexp, TernExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before TernExp {{ out.print(": TernExp ("); indent++; }} after TernExp {{ out.print(" )"); indent--; }} before -> TernExp, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> TernExp, conditionalexpression, ConditionalExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ConditionalOrExpression {{ out.print(": ConditionalOrExpression {"); indent++; }} after ConditionalOrExpression {{ out.print(" }"); indent--; }} before -> ConditionalOrExpression, first, Nonempty_ConditionalOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ConditionalAndExpression {{ out.print(": ConditionalAndExpression {"); indent++; }} after ConditionalAndExpression {{ out.print(" }"); indent--; }} before -> ConditionalAndExpression, first, Nonempty_ConditionalAndExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before InclusiveOrExpression {{ out.print(": InclusiveOrExpression {"); indent++; }} after InclusiveOrExpression {{ out.print(" }"); indent--; }} before -> InclusiveOrExpression, first, Nonempty_InclusiveOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ExclusiveOrExpression {{ out.print(": ExclusiveOrExpression {"); indent++; }} after ExclusiveOrExpression {{ out.print(" }"); indent--; }} before -> ExclusiveOrExpression, first, Nonempty_ExclusiveOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before AndExpression {{ out.print(": AndExpression {"); indent++; }} after AndExpression {{ out.print(" }"); indent--; }} before -> AndExpression, first, Nonempty_AndExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before EqualityExpression {{ out.print(": EqualityExpression ("); indent++; }} after EqualityExpression {{ out.print(" )"); indent--; }} before -> EqualityExpression, instanceofexpression, InstanceOfExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> EqualityExpression, rhsequalityexpression, RHSEqualityExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RHSEqualityExpression {{ out.print(": RHSEqualityExpression {"); indent++; }} after RHSEqualityExpression {{ out.print(" }"); indent--; }} before -> RHSEqualityExpression, first, Nonempty_RHSEqualityExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RInstanceOfExpression {{ out.print(": RInstanceOfExpression ("); indent++; }} after RInstanceOfExpression {{ out.print(" )"); indent--; }} before -> RInstanceOfExpression, eqnoteq, EqNotEq {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> RInstanceOfExpression, instanceofexpression, InstanceOfExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before EqEq {{ out.print(": EqEq ("); indent++; }} after EqEq {{ out.print(" )"); indent--; }} before NotEq {{ out.print(": NotEq ("); indent++; }} after NotEq {{ out.print(" )"); indent--; }} before InstanceOfExpression {{ out.print(": InstanceOfExpression ("); indent++; }} after InstanceOfExpression {{ out.print(" )"); indent--; }} before -> InstanceOfExpression, relationalexpression, RelationalExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> InstanceOfExpression, type, Type {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RelationalExpression {{ out.print(": RelationalExpression ("); indent++; }} after RelationalExpression {{ out.print(" )"); indent--; }} before -> RelationalExpression, shiftexpression, ShiftExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> RelationalExpression, rhsrelationalexpression, RHSRelationalExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Le {{ out.print(": Le ("); indent++; }} after Le {{ out.print(" )"); indent--; }} before Ge {{ out.print(": Ge ("); indent++; }} after Ge {{ out.print(" )"); indent--; }} before LeEq {{ out.print(": LeEq ("); indent++; }} after LeEq {{ out.print(" )"); indent--; }} before GeEq {{ out.print(": GeEq ("); indent++; }} after GeEq {{ out.print(" )"); indent--; }} before RHSRelationalExpression {{ out.print(": RHSRelationalExpression {"); indent++; }} after RHSRelationalExpression {{ out.print(" }"); indent--; }} before -> RHSRelationalExpression, first, Nonempty_RHSRelationalExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RShiftExpression {{ out.print(": RShiftExpression ("); indent++; }} after RShiftExpression {{ out.print(" )"); indent--; }} before -> RShiftExpression, compexp, CompExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> RShiftExpression, shiftexpression, ShiftExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ShiftExpression {{ out.print(": ShiftExpression ("); indent++; }} after ShiftExpression {{ out.print(" )"); indent--; }} before -> ShiftExpression, additiveexpression, AdditiveExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ShiftExpression, rhsshiftexpression, RHSShiftExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RHSShiftExpression {{ out.print(": RHSShiftExpression {"); indent++; }} after RHSShiftExpression {{ out.print(" }"); indent--; }} before -> RHSShiftExpression, first, Nonempty_RHSShiftExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RAdditiveExpression {{ out.print(": RAdditiveExpression ("); indent++; }} after RAdditiveExpression {{ out.print(" )"); indent--; }} before -> RAdditiveExpression, shiftexp, ShiftExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> RAdditiveExpression, additiveexpression, AdditiveExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SEright {{ out.print(": SEright ("); indent++; }} after SEright {{ out.print(" )"); indent--; }} before SEleft {{ out.print(": SEleft ("); indent++; }} after SEleft {{ out.print(" )"); indent--; }} before SEunright {{ out.print(": SEunright ("); indent++; }} after SEunright {{ out.print(" )"); indent--; }} before AdditiveExpression {{ out.print(": AdditiveExpression ("); indent++; }} after AdditiveExpression {{ out.print(" )"); indent--; }} before -> AdditiveExpression, multiplicativeexpression, MultiplicativeExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> AdditiveExpression, rhsadditiveexpression, RHSAdditiveExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RHSAdditiveExpression {{ out.print(": RHSAdditiveExpression {"); indent++; }} after RHSAdditiveExpression {{ out.print(" }"); indent--; }} before -> RHSAdditiveExpression, first, Nonempty_RHSAdditiveExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RMultiplicativeExpression {{ out.print(": RMultiplicativeExpression ("); indent++; }} after RMultiplicativeExpression {{ out.print(" )"); indent--; }} before -> RMultiplicativeExpression, addexp, AddExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> RMultiplicativeExpression, multiplicativeexpression, MultiplicativeExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Plus {{ out.print(": Plus ("); indent++; }} after Plus {{ out.print(" )"); indent--; }} before Minus {{ out.print(": Minus ("); indent++; }} after Minus {{ out.print(" )"); indent--; }} before MultiplicativeExpression {{ out.print(": MultiplicativeExpression ("); indent++; }} after MultiplicativeExpression {{ out.print(" )"); indent--; }} before -> MultiplicativeExpression, unaryexpression, UnaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> MultiplicativeExpression, rhsmultiplicativeexpression, RHSMultiplicativeExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RHSMultiplicativeExpression {{ out.print(": RHSMultiplicativeExpression {"); indent++; }} after RHSMultiplicativeExpression {{ out.print(" }"); indent--; }} before -> RHSMultiplicativeExpression, first, Nonempty_RHSMultiplicativeExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before RUnaryExpression {{ out.print(": RUnaryExpression ("); indent++; }} after RUnaryExpression {{ out.print(" )"); indent--; }} before -> RUnaryExpression, mulexp, MulExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> RUnaryExpression, unaryexpression, UnaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Mul {{ out.print(": Mul ("); indent++; }} after Mul {{ out.print(" )"); indent--; }} before Div {{ out.print(": Div ("); indent++; }} after Div {{ out.print(" )"); indent--; }} before Mod {{ out.print(": Mod ("); indent++; }} after Mod {{ out.print(" )"); indent--; }} before U_PreIncrementExpression {{ out.print(": U_PreIncrementExpression ("); indent++; }} after U_PreIncrementExpression {{ out.print(" )"); indent--; }} before -> U_PreIncrementExpression, preincrementexpression, PreIncrementExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before U_PreDecrementExpression {{ out.print(": U_PreDecrementExpression ("); indent++; }} after U_PreDecrementExpression {{ out.print(" )"); indent--; }} before -> U_PreDecrementExpression, predecrementexpression, PreDecrementExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before PlusMinusUnaryExpression {{ out.print(": PlusMinusUnaryExpression ("); indent++; }} after PlusMinusUnaryExpression {{ out.print(" )"); indent--; }} before -> PlusMinusUnaryExpression, addexp, AddExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> PlusMinusUnaryExpression, unaryexpression, UnaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before PreIncrementExpression {{ out.print(": PreIncrementExpression ("); indent++; }} after PreIncrementExpression {{ out.print(" )"); indent--; }} before -> PreIncrementExpression, primaryexpression, PrimaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before PreDecrementExpression {{ out.print(": PreDecrementExpression ("); indent++; }} after PreDecrementExpression {{ out.print(" )"); indent--; }} before -> PreDecrementExpression, primaryexpression, PrimaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before UN_PostfixExpression {{ out.print(": UN_PostfixExpression ("); indent++; }} after UN_PostfixExpression {{ out.print(" )"); indent--; }} before -> UN_PostfixExpression, postfixexpression, PostfixExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before NUnaryExpression {{ out.print(": NUnaryExpression ("); indent++; }} after NUnaryExpression {{ out.print(" )"); indent--; }} before -> NUnaryExpression, notplusminus, NotPlusMinus {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> NUnaryExpression, unaryexpression, UnaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Not {{ out.print(": Not ("); indent++; }} after Not {{ out.print(" )"); indent--; }} before Tilde {{ out.print(": Tilde ("); indent++; }} after Tilde {{ out.print(" )"); indent--; }} before PostfixExpression {{ out.print(": PostfixExpression ("); indent++; }} after PostfixExpression {{ out.print(" )"); indent--; }} before -> PostfixExpression, primaryexpression, PrimaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> PostfixExpression, paddexp, PAddExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before PPlus {{ out.print(": PPlus ("); indent++; }} after PPlus {{ out.print(" )"); indent--; }} before PMinus {{ out.print(": PMinus ("); indent++; }} after PMinus {{ out.print(" )"); indent--; }} before CastExpSimple {{ out.print(": CastExpSimple ("); indent++; }} after CastExpSimple {{ out.print(" )"); indent--; }} before -> CastExpSimple, type, Type {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> CastExpSimple, unaryexpression, UnaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CastExpCmplx {{ out.print(": CastExpCmplx ("); indent++; }} after CastExpCmplx {{ out.print(" )"); indent--; }} before -> CastExpCmplx, type, Type {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> CastExpCmplx, unaryexpressionnotplusminus, UnaryExpressionNotPlusMinus {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before PrimaryExpression {{ out.print(": PrimaryExpression ("); indent++; }} after PrimaryExpression {{ out.print(" )"); indent--; }} before -> PrimaryExpression, primaryprefix, PrimaryPrefix {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> PrimaryExpression, primarysuffixes, PrimarySuffixes {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before PrimarySuffixes {{ out.print(": PrimarySuffixes {"); indent++; }} after PrimarySuffixes {{ out.print(" }"); indent--; }} before -> PrimarySuffixes, first, Nonempty_PrimarySuffixes {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before PName {{ out.print(": PName ("); indent++; }} after PName {{ out.print(" )"); indent--; }} before -> PName, name, Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before This {{ out.print(": This ("); indent++; }} after This {{ out.print(" )"); indent--; }} before SuperPP {{ out.print(": SuperPP ("); indent++; }} after SuperPP {{ out.print(" )"); indent--; }} before -> SuperPP, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ParenExp {{ out.print(": ParenExp ("); indent++; }} after ParenExp {{ out.print(" )"); indent--; }} before -> ParenExp, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before dotThis {{ out.print(": dotThis ("); indent++; }} after dotThis {{ out.print(" )"); indent--; }} before dotClass {{ out.print(": dotClass ("); indent++; }} after dotClass {{ out.print(" )"); indent--; }} before dotAlloc {{ out.print(": dotAlloc ("); indent++; }} after dotAlloc {{ out.print(" )"); indent--; }} before -> dotAlloc, allocationexpression, AllocationExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before dotParam {{ out.print(": dotParam ("); indent++; }} after dotParam {{ out.print(" )"); indent--; }} before -> dotParam, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before dotIdent {{ out.print(": dotIdent ("); indent++; }} after dotIdent {{ out.print(" )"); indent--; }} before -> dotIdent, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Integer_literal {{ out.print(": Integer_literal ("); indent++; }} after Integer_literal {{ out.print(" )"); indent--; }} before -> Integer_literal, integer, Integer {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Integer"); out.print(" \"" + source.get_integer() + "\""); }} before Floating_point_literal {{ out.print(": Floating_point_literal ("); indent++; }} after Floating_point_literal {{ out.print(" )"); indent--; }} before -> Floating_point_literal, f, Float {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Float"); out.print(" \"" + source.get_f() + "\""); }} before Character_literal {{ out.print(": Character_literal ("); indent++; }} after Character_literal {{ out.print(" )"); indent--; }} before -> Character_literal, character, Character {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Character"); out.print(" '" + source.get_character() + "' "); }} before String_literal {{ out.print(": String_literal ("); indent++; }} after String_literal {{ out.print(" )"); indent--; }} before -> String_literal, string, String {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : String"); out.print(" \"" + source.get_string() + "\" "); }} before BooleanLiteral {{ out.print(": BooleanLiteral ("); indent++; }} after BooleanLiteral {{ out.print(" )"); indent--; }} before -> BooleanLiteral, b, Boolean {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : Boolean"); out.print(" \"" + source.get_b() + "\""); }} before NullLiteral {{ out.print(": NullLiteral ("); indent++; }} after NullLiteral {{ out.print(" )"); indent--; }} before Arguments {{ out.print(": Arguments ("); indent++; }} after Arguments {{ out.print(" )"); indent--; }} before -> Arguments, argumentlist, ArgumentList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ArgumentList {{ out.print(": ArgumentList {"); indent++; }} after ArgumentList {{ out.print(" }"); indent--; }} before -> ArgumentList, first, Nonempty_ArgumentList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before newCmplx {{ out.print(": newCmplx ("); indent++; }} after newCmplx {{ out.print(" )"); indent--; }} before -> newCmplx, primitivetype, PrimitiveType {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> newCmplx, arraydimensions, ArrayDimensions {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> newCmplx, arrayinitializer, ArrayInitializer {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before newSimple {{ out.print(": newSimple ("); indent++; }} after newSimple {{ out.print(" )"); indent--; }} before -> newSimple, name, Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> newSimple, arralloc, ArrAlloc {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ArrAllocIni {{ out.print(": ArrAllocIni ("); indent++; }} after ArrAllocIni {{ out.print(" )"); indent--; }} before -> ArrAllocIni, arraydimensions, ArrayDimensions {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ArrAllocIni, arrayinitializer, ArrayInitializer {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ArrAllocClas {{ out.print(": ArrAllocClas ("); indent++; }} after ArrAllocClas {{ out.print(" )"); indent--; }} before -> ArrAllocClas, arguments, Arguments {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ArrAllocClas, classbody, ClassBody {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ArrayDimensions {{ out.print(": ArrayDimensions ("); indent++; }} after ArrayDimensions {{ out.print(" )"); indent--; }} before -> ArrayDimensions, arraydimension, ArrayDimension {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ArrayDimensions, squarebrackets, SquareBrackets {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ArrayDimension {{ out.print(": ArrayDimension {"); indent++; }} after ArrayDimension {{ out.print(" }"); indent--; }} before -> ArrayDimension, first, Nonempty_ArrayDimension {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before DimExp {{ out.print(": DimExp ("); indent++; }} after DimExp {{ out.print(" )"); indent--; }} before -> DimExp, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before StatementExpressionSe {{ out.print(": StatementExpressionSe ("); indent++; }} after StatementExpressionSe {{ out.print(" )"); indent--; }} before -> StatementExpressionSe, statementexpression, StatementExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before LabeledStatement {{ out.print(": LabeledStatement ("); indent++; }} after LabeledStatement {{ out.print(" )"); indent--; }} before -> LabeledStatement, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> LabeledStatement, statement, Statement {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SBlock {{ out.print(": SBlock ("); indent++; }} after SBlock {{ out.print(" )"); indent--; }} before -> SBlock, block, Block {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Block {{ out.print(": Block ("); indent++; }} after Block {{ out.print(" )"); indent--; }} before -> Block, blockstatements, BlockStatements {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before BStatement {{ out.print(": BStatement ("); indent++; }} after BStatement {{ out.print(" )"); indent--; }} before -> BStatement, statement, Statement {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before LocVarDecl {{ out.print(": LocVarDecl ("); indent++; }} after LocVarDecl {{ out.print(" )"); indent--; }} before -> LocVarDecl, localvariabledeclaration, LocalVariableDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before LocalVariableDeclaration {{ out.print(": LocalVariableDeclaration ("); indent++; }} after LocalVariableDeclaration {{ out.print(" )"); indent--; }} before -> LocalVariableDeclaration, cfinal, CFinal {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> LocalVariableDeclaration, type, Type {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> LocalVariableDeclaration, variabledeclarators, VariableDeclarators {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before EmptyStatement {{ out.print(": EmptyStatement ("); indent++; }} after EmptyStatement {{ out.print(" )"); indent--; }} before -> EmptyStatement, semicolon, SemiColon {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SE_PreIncrementExpression {{ out.print(": SE_PreIncrementExpression ("); indent++; }} after SE_PreIncrementExpression {{ out.print(" )"); indent--; }} before -> SE_PreIncrementExpression, preincrementexpression, PreIncrementExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SE_PreDecrementExpression {{ out.print(": SE_PreDecrementExpression ("); indent++; }} after SE_PreDecrementExpression {{ out.print(" )"); indent--; }} before -> SE_PreDecrementExpression, predecrementexpression, PreDecrementExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SE_Assignment {{ out.print(": SE_Assignment ("); indent++; }} after SE_Assignment {{ out.print(" )"); indent--; }} before -> SE_Assignment, assignment, Assignment {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SE_PostfixExpression {{ out.print(": SE_PostfixExpression ("); indent++; }} after SE_PostfixExpression {{ out.print(" )"); indent--; }} before -> SE_PostfixExpression, postfixexpression, PostfixExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SwitchStatement {{ out.print(": SwitchStatement ("); indent++; }} after SwitchStatement {{ out.print(" )"); indent--; }} before -> SwitchStatement, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> SwitchStatement, caseblocks, CaseBlocks {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CaseBlocks {{ out.print(": CaseBlocks {"); indent++; }} after CaseBlocks {{ out.print(" }"); indent--; }} before -> CaseBlocks, first, Nonempty_CaseBlocks {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CaseBlock {{ out.print(": CaseBlock ("); indent++; }} after CaseBlock {{ out.print(" )"); indent--; }} before -> CaseBlock, switchlabel, SwitchLabel {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> CaseBlock, blockstatements, BlockStatements {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CaseExp {{ out.print(": CaseExp ("); indent++; }} after CaseExp {{ out.print(" )"); indent--; }} before -> CaseExp, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before DefExp {{ out.print(": DefExp ("); indent++; }} after DefExp {{ out.print(" )"); indent--; }} before IfStatement {{ out.print(": IfStatement ("); indent++; }} after IfStatement {{ out.print(" )"); indent--; }} before -> IfStatement, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> IfStatement, statement, Statement {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> IfStatement, elseStmt, Statement {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before WhileStatement {{ out.print(": WhileStatement ("); indent++; }} after WhileStatement {{ out.print(" )"); indent--; }} before -> WhileStatement, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> WhileStatement, statement, Statement {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before DoStatement {{ out.print(": DoStatement ("); indent++; }} after DoStatement {{ out.print(" )"); indent--; }} before -> DoStatement, statement, Statement {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> DoStatement, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ForStatement {{ out.print(": ForStatement ("); indent++; }} after ForStatement {{ out.print(" )"); indent--; }} before -> ForStatement, forinitopt, ForInitOpt {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ForStatement, forevalexp, ForEvalExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ForStatement, forupdate, ForUpdate {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> ForStatement, statement, Statement {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ForInitOpt {{ out.print(": ForInitOpt ("); indent++; }} after ForInitOpt {{ out.print(" )"); indent--; }} before -> ForInitOpt, forinit, ForInit {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ForEvalExp {{ out.print(": ForEvalExp ("); indent++; }} after ForEvalExp {{ out.print(" )"); indent--; }} before -> ForEvalExp, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before StatementExpressionList {{ out.print(": StatementExpressionList {"); indent++; }} after StatementExpressionList {{ out.print(" }"); indent--; }} before -> StatementExpressionList, first, Nonempty_StatementExpressionList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ForUpdate {{ out.print(": ForUpdate ("); indent++; }} after ForUpdate {{ out.print(" )"); indent--; }} before -> ForUpdate, statementexpressionlist, StatementExpressionList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before BreakStatement {{ out.print(": BreakStatement ("); indent++; }} after BreakStatement {{ out.print(" )"); indent--; }} before -> BreakStatement, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ContinueStatement {{ out.print(": ContinueStatement ("); indent++; }} after ContinueStatement {{ out.print(" )"); indent--; }} before -> ContinueStatement, identifier, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ReturnStatement {{ out.print(": ReturnStatement ("); indent++; }} after ReturnStatement {{ out.print(" )"); indent--; }} before -> ReturnStatement, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ThrowStatement {{ out.print(": ThrowStatement ("); indent++; }} after ThrowStatement {{ out.print(" )"); indent--; }} before -> ThrowStatement, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SynchronizedStatement {{ out.print(": SynchronizedStatement ("); indent++; }} after SynchronizedStatement {{ out.print(" )"); indent--; }} before -> SynchronizedStatement, expression, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> SynchronizedStatement, block, Block {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before TryStatement {{ out.print(": TryStatement ("); indent++; }} after TryStatement {{ out.print(" )"); indent--; }} before -> TryStatement, block, Block {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> TryStatement, catchblocks, CatchBlocks {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> TryStatement, finalblock, Block {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CatchBlocks {{ out.print(": CatchBlocks {"); indent++; }} after CatchBlocks {{ out.print(" }"); indent--; }} before -> CatchBlocks, first, Nonempty_CatchBlocks {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before CatchBlock {{ out.print(": CatchBlock ("); indent++; }} after CatchBlock {{ out.print(" )"); indent--; }} before -> CatchBlock, formalparameter, FormalParameter {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> CatchBlock, block, Block {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before ClassVisitor {{ out.print(": ClassVisitor ("); indent++; }} after ClassVisitor {{ out.print(" )"); indent--; }} before MethodVisitor {{ out.print(": MethodVisitor ("); indent++; }} after MethodVisitor {{ out.print(" )"); indent--; }} before Main {{ out.print(": Main ("); indent++; }} after Main {{ out.print(" )"); indent--; }} before PrintVisitor {{ out.print(": PrintVisitor ("); indent++; }} after PrintVisitor {{ out.print(" )"); indent--; }} before -> PrintVisitor, indent, int {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : int \"" + dest + "\""); }} before -> PrintVisitor, needSpace, boolean {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : boolean \"" + dest + "\""); }} before CopyVisitor {{ out.print(": CopyVisitor ("); indent++; }} after CopyVisitor {{ out.print(" )"); indent--; }} before -> CopyVisitor, copy, Object {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before SubgraphVisitor {{ out.print(": SubgraphVisitor ("); indent++; }} after SubgraphVisitor {{ out.print(" )"); indent--; }} before -> SubgraphVisitor, is_equal, boolean {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : boolean \"" + dest + "\""); }} before EqualVisitor {{ out.print(": EqualVisitor ("); indent++; }} after EqualVisitor {{ out.print(" )"); indent--; }} before -> EqualVisitor, is_equal, boolean {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : boolean \"" + dest + "\""); }} before DisplayVisitor {{ out.print(": DisplayVisitor ("); indent++; }} after DisplayVisitor {{ out.print(" )"); indent--; }} before -> DisplayVisitor, indent, int {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : int \"" + dest + "\""); }} before TraceVisitor {{ out.print(": TraceVisitor ("); indent++; }} after TraceVisitor {{ out.print(" )"); indent--; }} before -> TraceVisitor, indent, int {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); out.print(" : int \"" + dest + "\""); }} before Nonempty_ImportDeclarations {{ out.print(": Nonempty_ImportDeclarations ("); indent++; }} after Nonempty_ImportDeclarations {{ out.print(" )"); indent--; }} before -> Nonempty_ImportDeclarations, it, ImportDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_ImportDeclarations, next, Nonempty_ImportDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_TypeDeclarations {{ out.print(": Nonempty_TypeDeclarations ("); indent++; }} after Nonempty_TypeDeclarations {{ out.print(" )"); indent--; }} before -> Nonempty_TypeDeclarations, it, TypeDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_TypeDeclarations, next, Nonempty_TypeDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_ClassModifiers {{ out.print(": Nonempty_ClassModifiers ("); indent++; }} after Nonempty_ClassModifiers {{ out.print(" )"); indent--; }} before -> Nonempty_ClassModifiers, it, ClassModifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_ClassModifiers, next, Nonempty_ClassModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_ClassBodyDeclarations {{ out.print(": Nonempty_ClassBodyDeclarations ("); indent++; }} after Nonempty_ClassBodyDeclarations {{ out.print(" )"); indent--; }} before -> Nonempty_ClassBodyDeclarations, it, ClassBodyDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_ClassBodyDeclarations, next, Nonempty_ClassBodyDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_NestedClassModifiers {{ out.print(": Nonempty_NestedClassModifiers ("); indent++; }} after Nonempty_NestedClassModifiers {{ out.print(" )"); indent--; }} before -> Nonempty_NestedClassModifiers, it, NestedClassModifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_NestedClassModifiers, next, Nonempty_NestedClassModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_InterfaceModifiers {{ out.print(": Nonempty_InterfaceModifiers ("); indent++; }} after Nonempty_InterfaceModifiers {{ out.print(" )"); indent--; }} before -> Nonempty_InterfaceModifiers, it, InterfaceModifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_InterfaceModifiers, next, Nonempty_InterfaceModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_NestedInterfaceModifiers {{ out.print(": Nonempty_NestedInterfaceModifiers ("); indent++; }} after Nonempty_NestedInterfaceModifiers {{ out.print(" )"); indent--; }} before -> Nonempty_NestedInterfaceModifiers, it, NestedInterfaceModifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_NestedInterfaceModifiers, next, Nonempty_NestedInterfaceModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_InterfaceMemberDeclarations {{ out.print(": Nonempty_InterfaceMemberDeclarations ("); indent++; }} after Nonempty_InterfaceMemberDeclarations {{ out.print(" )"); indent--; }} before -> Nonempty_InterfaceMemberDeclarations, it, InterfaceMemberDeclaration {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_InterfaceMemberDeclarations, next, Nonempty_InterfaceMemberDeclarations {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_FieldModifiers {{ out.print(": Nonempty_FieldModifiers ("); indent++; }} after Nonempty_FieldModifiers {{ out.print(" )"); indent--; }} before -> Nonempty_FieldModifiers, it, FieldModifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_FieldModifiers, next, Nonempty_FieldModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_VariableDeclarators {{ out.print(": Nonempty_VariableDeclarators ("); indent++; }} after Nonempty_VariableDeclarators {{ out.print(" )"); indent--; }} before -> Nonempty_VariableDeclarators, it, VariableDeclarator {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_VariableDeclarators, next, Nonempty_VariableDeclarators {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_SquareBrackets {{ out.print(": Nonempty_SquareBrackets ("); indent++; }} after Nonempty_SquareBrackets {{ out.print(" )"); indent--; }} before -> Nonempty_SquareBrackets, it, SquareBracket {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_SquareBrackets, next, Nonempty_SquareBrackets {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_VariableInitializers {{ out.print(": Nonempty_VariableInitializers ("); indent++; }} after Nonempty_VariableInitializers {{ out.print(" )"); indent--; }} before -> Nonempty_VariableInitializers, it, VariableInitializer {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_VariableInitializers, next, Nonempty_VariableInitializers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_MethodModifiers {{ out.print(": Nonempty_MethodModifiers ("); indent++; }} after Nonempty_MethodModifiers {{ out.print(" )"); indent--; }} before -> Nonempty_MethodModifiers, it, MethodModifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_MethodModifiers, next, Nonempty_MethodModifiers {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_FormalParameterList {{ out.print(": Nonempty_FormalParameterList ("); indent++; }} after Nonempty_FormalParameterList {{ out.print(" )"); indent--; }} before -> Nonempty_FormalParameterList, it, FormalParameter {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_FormalParameterList, next, Nonempty_FormalParameterList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_BlockStatements {{ out.print(": Nonempty_BlockStatements ("); indent++; }} after Nonempty_BlockStatements {{ out.print(" )"); indent--; }} before -> Nonempty_BlockStatements, it, BlockStatement {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_BlockStatements, next, Nonempty_BlockStatements {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_Name {{ out.print(": Nonempty_Name ("); indent++; }} after Nonempty_Name {{ out.print(" )"); indent--; }} before -> Nonempty_Name, it, Identifier {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_Name, next, Nonempty_Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_NameList {{ out.print(": Nonempty_NameList ("); indent++; }} after Nonempty_NameList {{ out.print(" )"); indent--; }} before -> Nonempty_NameList, it, Name {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_NameList, next, Nonempty_NameList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_ConditionalOrExpression {{ out.print(": Nonempty_ConditionalOrExpression ("); indent++; }} after Nonempty_ConditionalOrExpression {{ out.print(" )"); indent--; }} before -> Nonempty_ConditionalOrExpression, it, ConditionalAndExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_ConditionalOrExpression, next, Nonempty_ConditionalOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_ConditionalAndExpression {{ out.print(": Nonempty_ConditionalAndExpression ("); indent++; }} after Nonempty_ConditionalAndExpression {{ out.print(" )"); indent--; }} before -> Nonempty_ConditionalAndExpression, it, InclusiveOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_ConditionalAndExpression, next, Nonempty_ConditionalAndExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_InclusiveOrExpression {{ out.print(": Nonempty_InclusiveOrExpression ("); indent++; }} after Nonempty_InclusiveOrExpression {{ out.print(" )"); indent--; }} before -> Nonempty_InclusiveOrExpression, it, ExclusiveOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_InclusiveOrExpression, next, Nonempty_InclusiveOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_ExclusiveOrExpression {{ out.print(": Nonempty_ExclusiveOrExpression ("); indent++; }} after Nonempty_ExclusiveOrExpression {{ out.print(" )"); indent--; }} before -> Nonempty_ExclusiveOrExpression, it, AndExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_ExclusiveOrExpression, next, Nonempty_ExclusiveOrExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_AndExpression {{ out.print(": Nonempty_AndExpression ("); indent++; }} after Nonempty_AndExpression {{ out.print(" )"); indent--; }} before -> Nonempty_AndExpression, it, EqualityExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_AndExpression, next, Nonempty_AndExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_RHSEqualityExpression {{ out.print(": Nonempty_RHSEqualityExpression ("); indent++; }} after Nonempty_RHSEqualityExpression {{ out.print(" )"); indent--; }} before -> Nonempty_RHSEqualityExpression, it, RInstanceOfExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_RHSEqualityExpression, next, Nonempty_RHSEqualityExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_RHSRelationalExpression {{ out.print(": Nonempty_RHSRelationalExpression ("); indent++; }} after Nonempty_RHSRelationalExpression {{ out.print(" )"); indent--; }} before -> Nonempty_RHSRelationalExpression, it, RShiftExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_RHSRelationalExpression, next, Nonempty_RHSRelationalExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_RHSShiftExpression {{ out.print(": Nonempty_RHSShiftExpression ("); indent++; }} after Nonempty_RHSShiftExpression {{ out.print(" )"); indent--; }} before -> Nonempty_RHSShiftExpression, it, RAdditiveExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_RHSShiftExpression, next, Nonempty_RHSShiftExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_RHSAdditiveExpression {{ out.print(": Nonempty_RHSAdditiveExpression ("); indent++; }} after Nonempty_RHSAdditiveExpression {{ out.print(" )"); indent--; }} before -> Nonempty_RHSAdditiveExpression, it, RMultiplicativeExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_RHSAdditiveExpression, next, Nonempty_RHSAdditiveExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_RHSMultiplicativeExpression {{ out.print(": Nonempty_RHSMultiplicativeExpression ("); indent++; }} after Nonempty_RHSMultiplicativeExpression {{ out.print(" )"); indent--; }} before -> Nonempty_RHSMultiplicativeExpression, it, RUnaryExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_RHSMultiplicativeExpression, next, Nonempty_RHSMultiplicativeExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_PrimarySuffixes {{ out.print(": Nonempty_PrimarySuffixes ("); indent++; }} after Nonempty_PrimarySuffixes {{ out.print(" )"); indent--; }} before -> Nonempty_PrimarySuffixes, it, PrimarySuffix {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_PrimarySuffixes, next, Nonempty_PrimarySuffixes {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_ArgumentList {{ out.print(": Nonempty_ArgumentList ("); indent++; }} after Nonempty_ArgumentList {{ out.print(" )"); indent--; }} before -> Nonempty_ArgumentList, it, Expression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_ArgumentList, next, Nonempty_ArgumentList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_ArrayDimension {{ out.print(": Nonempty_ArrayDimension ("); indent++; }} after Nonempty_ArrayDimension {{ out.print(" )"); indent--; }} before -> Nonempty_ArrayDimension, it, DimExp {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_ArrayDimension, next, Nonempty_ArrayDimension {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_CaseBlocks {{ out.print(": Nonempty_CaseBlocks ("); indent++; }} after Nonempty_CaseBlocks {{ out.print(" )"); indent--; }} before -> Nonempty_CaseBlocks, it, CaseBlock {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_CaseBlocks, next, Nonempty_CaseBlocks {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_StatementExpressionList {{ out.print(": Nonempty_StatementExpressionList ("); indent++; }} after Nonempty_StatementExpressionList {{ out.print(" )"); indent--; }} before -> Nonempty_StatementExpressionList, it, StatementExpression {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_StatementExpressionList, next, Nonempty_StatementExpressionList {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before Nonempty_CatchBlocks {{ out.print(": Nonempty_CatchBlocks ("); indent++; }} after Nonempty_CatchBlocks {{ out.print(" )"); indent--; }} before -> Nonempty_CatchBlocks, it, CatchBlock {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} before -> Nonempty_CatchBlocks, next, Nonempty_CatchBlocks {{ out.println(); for (int i = 0; i < indent; i++) out.print("\t"); out.print(" "); }} }