-- autogenerated File do not edit! module MakeUntypedAST where import ParserTypes (PToken, ReductionID (..), CST(..),AST(..) import Data.Array -- reduce actions that transform the CST to the AST reduceTable = listArray (ReductionID 0,ReductionID 366 ) $ reduceActions cst2ast :: CST -> AST cst2ast (CstLeaf t) = ASTLeaf t cst2ast (CstNode reduction list) = (reduceTable ! reduction) $ map cst2ast list reduceActions :: [[AST] -> AST] reduceActions = [ -- rule : 0 AMachineParseUnit \[nodeArrayList1] -> nodeArrayList1, -- rule : 1 ADefinitionFileParseUnit \[nodeArrayList1] -> ( ASTNode ("definition_file") ([ nodeArrayList1 ]) ), -- rule : 2 APredicateParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("predicate") ([ nodeArrayList2 ]) ), -- rule : 3 AExpressionParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("expression") ([ nodeArrayList2 ]) ), -- rule : 4 ASubstitutionParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("substitution") ([ nodeArrayList2 ]) ), -- rule : 5 AAbstractConstantsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 6 AAbstractVariablesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 7 AAssertionsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 8 AConcreteConstantsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 9 AConcreteVariablesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 10 AConstantsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 11 AConstraintsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 12 ADefinitionsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 13 AExtendsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 14 AImportsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 15 AIncludesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 16 AInitialisationParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 17 AInvariantParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 18 ALocalOperationsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 19 AOperationsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 20 APromotesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 21 APropertiesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 22 ASeesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 23 ASetsParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 24 AUsesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 25 AValuesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 26 AVariablesParseUnit \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_clause") ([ nodeArrayList2 ]) ), -- rule : 27 AOppatternParseUnit \[nodeArrayList2,nodeArrayList1] -> nodeArrayList2, -- rule : 28 AAabstractmachine1Machine \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("abstract_machine") ([ nodeArrayList1, nodeArrayList2, ASTList [] ]) ), -- rule : 29 AAabstractmachine2Machine \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("abstract_machine") ([ nodeArrayList1, nodeArrayList2, ( head (( unASTList (nodeArrayList3) )) ) ]) ), -- rule : 30 AArefinementmachine1Machine \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("refinement_machine") ([ nodeArrayList2, nodeArrayList4, ASTList [] ]) ), -- rule : 31 AArefinementmachine2Machine \[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("refinement_machine") ([ nodeArrayList2, nodeArrayList4, ( head (( unASTList (nodeArrayList5) )) ) ]) ), -- rule : 32 AAimplementationmachine1Machine \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("implementation_machine") ([ nodeArrayList2, nodeArrayList4, ASTList [] ]) ), -- rule : 33 AAimplementationmachine2Machine \[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("implementation_machine") ([ nodeArrayList2, nodeArrayList4, ( head (( unASTList (nodeArrayList5) )) ) ]) ), -- rule : 34 AAmachineheader1MachineHeader \[nodeArrayList1] -> ( ASTNode ("machine_header") ([ ( head (( unASTList (nodeArrayList1) )) ), ASTList [] ]) ), -- rule : 35 AAmachineheader2MachineHeader \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_header") ([ ( head (( unASTList (nodeArrayList1) )) ), ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 36 AMachineParams \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 37 ASingleMachineParamList \[nodeArrayList1] -> ( ASTList ([ ( ASTList ([ nodeArrayList1 ]) ) ]) ), -- rule : 38 AMultiMachineParamList \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( ASTList (( (++) (( unASTList (( head (( unASTList (nodeArrayList1) )) )) )) ([ nodeArrayList3 ]) )) ) ]) ), -- rule : 39 AMachineParam \[nodeArrayList1] -> nodeArrayList1, -- rule : 40 ASingleMachineClauseList \[nodeArrayList1] -> ( ASTList ([ ( ASTList ([ nodeArrayList1 ]) ) ]) ), -- rule : 41 AMultipleMachineClauseList \[nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( ASTList (( (++) (( unASTList (( head (( unASTList (nodeArrayList1) )) )) )) ([ nodeArrayList2 ]) )) ) ]) ), -- rule : 42 ADefinitionsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 43 AConstraintsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 44 ASeesMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 45 APromotesMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 46 AUsesMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 47 AIncludesMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 48 AExtendsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 49 AImportsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 50 ASetsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 51 AConstantsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 52 AAbstractConstantsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 53 APropertiesMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 54 AConcreteVariablesMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 55 AVariablesMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 56 AAssertionsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 57 AInitialisationMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 58 ALocalOperationsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 59 AOperationsMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 60 AValuesMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 61 AInvariantMachineClause \[nodeArrayList1] -> nodeArrayList1, -- rule : 62 AAdefinitionsclause1DefinitionsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("definitions") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 63 AAdefinitionsclause2DefinitionsClause \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("definitions") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 64 ASingleDefinitionList \[nodeArrayList1] -> ( ASTList ([ ( ASTList ([ nodeArrayList1 ]) ) ]) ), -- rule : 65 AMultiDefinitionList \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( ASTList (( (++) (( unASTList (( head (( unASTList (nodeArrayList1) )) )) )) ([ nodeArrayList3 ]) )) ) ]) ), -- rule : 66 AApredicatedefinition1Definition \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("predicate") ([ nodeArrayList1, ASTList [], nodeArrayList3 ]) ), -- rule : 67 AApredicatedefinition2Definition \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("predicate") ([ nodeArrayList1, ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4 ]) ), -- rule : 68 AAsubstitutiondefinition1Definition \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("substitution") ([ nodeArrayList1, ASTList [], nodeArrayList3 ]) ), -- rule : 69 AAsubstitutiondefinition2Definition \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("substitution") ([ nodeArrayList1, ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4 ]) ), -- rule : 70 AAexpressiondefinition1Definition \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("expression") ([ nodeArrayList1, ASTList [], nodeArrayList3 ]) ), -- rule : 71 AAexpressiondefinition2Definition \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("expression") ([ nodeArrayList1, ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4 ]) ), -- rule : 72 AFileDefinition \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("file") ([ nodeArrayList2 ]) ), -- rule : 73 ADefParameters \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 74 ASeesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("sees") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 75 APromotesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("promotes") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 76 AUsesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("uses") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 77 AIncludesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("includes") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 78 AExtendsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("extends") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 79 AImportsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("imports") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 80 ASingleMachineRefList \[nodeArrayList1] -> ( ASTList ([ ( ASTList ([ nodeArrayList1 ]) ) ]) ), -- rule : 81 AMultiMachineRefList \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( ASTList (( (++) (( unASTList (( head (( unASTList (nodeArrayList1) )) )) )) ([ nodeArrayList3 ]) )) ) ]) ), -- rule : 82 AAmachinereference1MachineReference \[nodeArrayList1] -> ( ASTNode ("machine_reference") ([ ( head (( unASTList (nodeArrayList1) )) ), ASTList [] ]) ), -- rule : 83 AAmachinereference2MachineReference \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("machine_reference") ([ ( head (( unASTList (nodeArrayList1) )) ), ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 84 AAbstractVariablesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("variables") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 85 AVariablesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("variables") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 86 AConcreteConstantsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("constants") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 87 AConstantsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("constants") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 88 AConcreteVariablesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("concrete_variables") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 89 AAbstractConstantsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("abstract_constants") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 90 ASetsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("sets") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 91 ASingleSetDefList \[nodeArrayList1] -> ( ASTList ([ ( ASTList ([ nodeArrayList1 ]) ) ]) ), -- rule : 92 AMultiSetDefList \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( ASTList (( (++) (( unASTList (( head (( unASTList (nodeArrayList1) )) )) )) ([ nodeArrayList3 ]) )) ) ]) ), -- rule : 93 ADeferredSet \[nodeArrayList1] -> ( ASTNode ("deferred") ([ ( head (( unASTList (nodeArrayList1) )) ) ]) ), -- rule : 94 AEnumeratedSet \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("enumerated") ([ ( head (( unASTList (nodeArrayList1) )) ), ( head (( unASTList (nodeArrayList4) )) ) ]) ), -- rule : 95 APropertiesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("properties") ([ nodeArrayList2 ]) ), -- rule : 96 AInitialisationClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("initialisation") ([ nodeArrayList2 ]) ), -- rule : 97 AInvariantClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("invariant") ([ nodeArrayList2 ]) ), -- rule : 98 AConstraintsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("constraints") ([ nodeArrayList2 ]) ), -- rule : 99 AAssertionsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("assertions") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 100 ASingleAssertionsPredList \[nodeArrayList1] -> ( ASTList ([ ( ASTList ([ nodeArrayList1 ]) ) ]) ), -- rule : 101 AMultiAssertionsPredList \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( ASTList (( (++) (( unASTList (( head (( unASTList (nodeArrayList1) )) )) )) ([ nodeArrayList3 ]) )) ) ]) ), -- rule : 102 AValuesClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("values") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 103 ASingleValuesEntriesList \[nodeArrayList1] -> ( ASTList ([ ( ASTList ([ nodeArrayList1 ]) ) ]) ), -- rule : 104 AMultiValuesEntriesList \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( ASTList (( (++) (( unASTList (( head (( unASTList (nodeArrayList1) )) )) )) ([ nodeArrayList3 ]) )) ) ]) ), -- rule : 105 AValuesEntry \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("values_entry") ([ ( head (( unASTList (nodeArrayList1) )) ), nodeArrayList3 ]) ), -- rule : 106 ALocalOperationsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("local_operations") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 107 AOperationsClause \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("operations") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 108 ASingleOperationList \[nodeArrayList1] -> ( ASTList ([ ( ASTList ([ nodeArrayList1 ]) ) ]) ), -- rule : 109 AMultiOperationList \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( ASTList (( (++) (( unASTList (( head (( unASTList (nodeArrayList1) )) )) )) ([ nodeArrayList3 ]) )) ) ]) ), -- rule : 110 AAoperation1Operation \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("operation") ([ ASTList [], ( head (( unASTList (nodeArrayList1) )) ), ASTList [], nodeArrayList3 ]) ), -- rule : 111 AAoperation2Operation \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("operation") ([ ( head (( unASTList (nodeArrayList1) )) ), ( head (( unASTList (nodeArrayList2) )) ), ASTList [], nodeArrayList4 ]) ), -- rule : 112 AAoperation3Operation \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("operation") ([ ASTList [], ( head (( unASTList (nodeArrayList1) )) ), ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4 ]) ), -- rule : 113 AAoperation4Operation \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("operation") ([ ( head (( unASTList (nodeArrayList1) )) ), ( head (( unASTList (nodeArrayList2) )) ), ( head (( unASTList (nodeArrayList3) )) ), nodeArrayList5 ]) ), -- rule : 114 AOperationReturnValues \[nodeArrayList2,nodeArrayList1] -> ( ASTList ([ ( head (( unASTList (nodeArrayList1) )) ) ]) ), -- rule : 115 APredicateTop \[nodeArrayList1] -> nodeArrayList1, -- rule : 116 AImplicationPredicateP30 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("implication") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 117 ANextLevelPredicateP30 \[nodeArrayList1] -> nodeArrayList1, -- rule : 118 APredicateX30 \[nodeArrayList1] -> nodeArrayList1, -- rule : 119 ADisjunctPredicateP40 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("disjunct") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 120 AConjunctPredicateP40 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("conjunct") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 121 ANextLevelPredicateP40 \[nodeArrayList1] -> nodeArrayList1, -- rule : 122 APredicateX40 \[nodeArrayList1] -> nodeArrayList1, -- rule : 123 AEquivalencePredicateP60 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("equivalence") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 124 ANextLevelPredicateP60 \[nodeArrayList1] -> nodeArrayList1, -- rule : 125 APredicateX60 \[nodeArrayList1] -> nodeArrayList1, -- rule : 126 AEqualPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("equal") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 127 ABelongPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("belong") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 128 AIncludePredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("include") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 129 AIncludeStrictlyPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("include_strictly") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 130 ANotIncludePredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("not_include") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 131 ANotIncludeStrictlyPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("not_include_strictly") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 132 AUnequalPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("unequal") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 133 ANotBelongPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("not_belong") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 134 ALessEqualPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("less_equal") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 135 ALessPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("less") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 136 AGreaterEqualPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("greater_equal") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 137 AGreaterPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("greater") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 138 AFalsePredicateAtomic \[nodeArrayList1] -> ( ASTNode ("false") ([ ]) ), -- rule : 139 ABracketedPredicateAtomic \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> nodeArrayList2, -- rule : 140 ANegationPredicateAtomic \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("negation") ([ nodeArrayList3 ]) ), -- rule : 141 AUniversalQuantificationPredicateAtomic \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("universal_quantification") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4 ]) ), -- rule : 142 AExistentialQuantificationPredicateAtomic \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("existential_quantification") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4 ]) ), -- rule : 143 AAdefinitionpredicateatomic1PredicateAtomic \[nodeArrayList1] -> ( ASTNode ("definition") ([ nodeArrayList1, ASTList [] ]) ), -- rule : 144 AAdefinitionpredicateatomic2PredicateAtomic \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("definition") ([ nodeArrayList1, ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 145 ACompositionExpressionInPar \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("composition") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 146 AParallelProductExpressionInPar \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("parallel_product") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 147 ANextLevelExpressionInPar \[nodeArrayList1] -> nodeArrayList1, -- rule : 148 AExpressionTop \[nodeArrayList1] -> nodeArrayList1, -- rule : 149 ARelationsExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("relations") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 150 APartialFunctionExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("partial_function") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 151 ATotalFunctionExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("total_function") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 152 APartialInjectionExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("partial_injection") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 153 ATotalInjectionExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("total_injection") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 154 APartialSurjectionExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("partial_surjection") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 155 ATotalSurjectionExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("total_surjection") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 156 APartialBijectionExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("partial_bijection") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 157 ATotalBijectionExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("total_bijection") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 158 ATotalRelationExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("total_relation") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 159 ASurjectionRelationExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("surjection_relation") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 160 ATotalSurjectionRelationExpressionP125 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("total_surjection_relation") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 161 ANextLevelExpressionP125 \[nodeArrayList1] -> nodeArrayList1, -- rule : 162 AExpressionX125 \[nodeArrayList1] -> nodeArrayList1, -- rule : 163 AOverwriteExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("overwrite") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 164 ADirectProductExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("direct_product") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 165 AConcatExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("concat") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 166 ADomainRestrictionExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("domain_restriction") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 167 ADomainSubtractionExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("domain_subtraction") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 168 ARangeRestrictionExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("range_restriction") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 169 ARangeSubtractionExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("range_subtraction") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 170 AInsertFrontExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("insert_front") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 171 AInsertTailExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("insert_tail") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 172 AUnionExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("union") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 173 AIntersectionExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("intersection") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 174 ARestrictFrontExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("restrict_front") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 175 ARestrictTailExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("restrict_tail") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 176 ACouple1ExpressionP160 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("couple") ([ ( ASTList (( (++) (( unASTList (( ASTList ([ nodeArrayList1 ]) )) )) ([ nodeArrayList3 ]) )) ) ]) ), -- rule : 177 ANextLevelExpressionP160 \[nodeArrayList1] -> nodeArrayList1, -- rule : 178 AExpressionX160 \[nodeArrayList1] -> nodeArrayList1, -- rule : 179 AIntervalExpressionP170 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("interval") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 180 ANextLevelExpressionP170 \[nodeArrayList1] -> nodeArrayList1, -- rule : 181 AExpressionX170 \[nodeArrayList1] -> nodeArrayList1, -- rule : 182 AMinusOrSetSubtractExpressionP180 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("minus_or_set_subtract") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 183 AAddExpressionP180 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("add") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 184 ASetSubtractionExpressionP180 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("set_subtraction") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 185 ANextLevelExpressionP180 \[nodeArrayList1] -> nodeArrayList1, -- rule : 186 AExpressionX180 \[nodeArrayList1] -> nodeArrayList1, -- rule : 187 AMulExpressionP190 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("mult_or_cart") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 188 ADivExpressionP190 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("div") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 189 AModuloExpressionP190 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("modulo") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 190 ANextLevelExpressionP190 \[nodeArrayList1] -> nodeArrayList1, -- rule : 191 AExpressionX190 \[nodeArrayList1] -> nodeArrayList1, -- rule : 192 APowerOfExpressionP200 \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("power_of") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 193 ANextLevelExpressionP200 \[nodeArrayList1] -> nodeArrayList1, -- rule : 194 AExpressionX200 \[nodeArrayList1] -> nodeArrayList1, -- rule : 195 AUnaryExpressionP210 \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("unary") ([ nodeArrayList2 ]) ), -- rule : 196 ANextLevelExpressionP210 \[nodeArrayList1] -> nodeArrayList1, -- rule : 197 AExpressionX210 \[nodeArrayList1] -> nodeArrayList1, -- rule : 198 AReverseExpressionP230 \[nodeArrayList2,nodeArrayList1] -> ( ASTNode ("reverse") ([ nodeArrayList1 ]) ), -- rule : 199 ANextLevelExpressionP230 \[nodeArrayList1] -> nodeArrayList1, -- rule : 200 AExpressionX230 \[nodeArrayList1] -> nodeArrayList1, -- rule : 201 AImageExpressionP231 \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("image") ([ nodeArrayList1, nodeArrayList3 ]) ), -- rule : 202 ANextLevelExpressionP231 \[nodeArrayList1] -> nodeArrayList1, -- rule : 203 AExpressionX231 \[nodeArrayList1] -> nodeArrayList1, -- rule : 204 AConvertBoolExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("convert_bool") ([ nodeArrayList3 ]) ), -- rule : 205 AMaxExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("max") ([ nodeArrayList3 ]) ), -- rule : 206 AMinExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("min") ([ nodeArrayList3 ]) ), -- rule : 207 ACardExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("card") ([ nodeArrayList3 ]) ), -- rule : 208 AGeneralSumExpressionKeyword \[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("general_sum") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4, nodeArrayList6 ]) ), -- rule : 209 AGeneralProductExpressionKeyword \[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("general_product") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4, nodeArrayList6 ]) ), -- rule : 210 APowSubsetExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("pow_subset") ([ nodeArrayList3 ]) ), -- rule : 211 APow1SubsetExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("pow1_subset") ([ nodeArrayList3 ]) ), -- rule : 212 AFinSubsetExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("fin_subset") ([ nodeArrayList3 ]) ), -- rule : 213 AFin1SubsetExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("fin1_subset") ([ nodeArrayList3 ]) ), -- rule : 214 AGeneralUnionExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("general_union") ([ nodeArrayList3 ]) ), -- rule : 215 AGeneralIntersectionExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("general_intersection") ([ nodeArrayList3 ]) ), -- rule : 216 AIdentityExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("identity") ([ nodeArrayList3 ]) ), -- rule : 217 AReflexiveClosureExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("reflexive_closure") ([ nodeArrayList3 ]) ), -- rule : 218 AClosureExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("closure") ([ nodeArrayList3 ]) ), -- rule : 219 ADomainExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("domain") ([ nodeArrayList3 ]) ), -- rule : 220 ARangeExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("range") ([ nodeArrayList3 ]) ), -- rule : 221 ALambdaExpressionKeyword \[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("lambda") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4, nodeArrayList6 ]) ), -- rule : 222 ATransFunctionExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("trans_function") ([ nodeArrayList3 ]) ), -- rule : 223 ATransRelationExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("trans_relation") ([ nodeArrayList3 ]) ), -- rule : 224 ASeqExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("seq") ([ nodeArrayList3 ]) ), -- rule : 225 ASeq1ExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("seq1") ([ nodeArrayList3 ]) ), -- rule : 226 AIseqExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("iseq") ([ nodeArrayList3 ]) ), -- rule : 227 AIseq1ExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("iseq1") ([ nodeArrayList3 ]) ), -- rule : 228 APermExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("perm") ([ nodeArrayList3 ]) ), -- rule : 229 AEmptySequenceExpressionKeyword \[nodeArrayList1] -> ( ASTNode ("empty_sequence") ([ ]) ), -- rule : 230 ASizeExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("size") ([ nodeArrayList3 ]) ), -- rule : 231 AFirstExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("first") ([ nodeArrayList3 ]) ), -- rule : 232 ALastExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("last") ([ nodeArrayList3 ]) ), -- rule : 233 AFrontExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("front") ([ nodeArrayList3 ]) ), -- rule : 234 ATailExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("tail") ([ nodeArrayList3 ]) ), -- rule : 235 ARevExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("rev") ([ nodeArrayList3 ]) ), -- rule : 236 AFirstProjectionExpressionKeyword \[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("first_projection") ([ nodeArrayList3, nodeArrayList5 ]) ), -- rule : 237 ASecondProjectionExpressionKeyword \[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("second_projection") ([ nodeArrayList3, nodeArrayList5 ]) ), -- rule : 238 AIterationExpressionKeyword \[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("iteration") ([ nodeArrayList3, nodeArrayList5 ]) ), -- rule : 239 AComprehensionSetExpressionKeyword \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("comprehension_set") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4 ]) ), -- rule : 240 AQuantifiedUnionExpressionKeyword \[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("quantified_union") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4, nodeArrayList6 ]) ), -- rule : 241 AQuantifiedIntersectionExpressionKeyword \[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("quantified_intersection") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4, nodeArrayList6 ]) ), -- rule : 242 AQuantifiedSetExpressionKeyword \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("prover_comprehension_set") ([ ( head (( unASTList (nodeArrayList2) )) ), nodeArrayList4 ]) ), -- rule : 243 ASetExtensionExpressionKeyword \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("set_extension") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 244 ASequenceExtensionExpressionKeyword \[nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("sequence_extension") ([ ( head (( unASTList (nodeArrayList2) )) ) ]) ), -- rule : 245 ACouple2ExpressionKeyword \[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("couple") ([ ( ASTList (( (++) (( unASTList (( ASTList ([ nodeArrayList2 ]) )) )) (( unASTList (( head (( unASTList (nodeArrayList4) )) )) )) )) ) ]) ), -- rule : 246 AGeneralConcatExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("general_concat") ([ nodeArrayList3 ]) ), -- rule : 247 ATreeExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("tree") ([ nodeArrayList3 ]) ), -- rule : 248 ABtreeExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("btree") ([ nodeArrayList3 ]) ), -- rule : 249 AConstExpressionKeyword \[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("const") ([ nodeArrayList3, nodeArrayList5 ]) ), -- rule : 250 ATopExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("top") ([ nodeArrayList3 ]) ), -- rule : 251 ASonsExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("sons") ([ nodeArrayList3 ]) ), -- rule : 252 APrefixExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("prefix") ([ nodeArrayList3 ]) ), -- rule : 253 APostfixExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("postfix") ([ nodeArrayList3 ]) ), -- rule : 254 ASizetExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("sizet") ([ nodeArrayList3 ]) ), -- rule : 255 AMirrorExpressionKeyword \[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("mirror") ([ nodeArrayList3 ]) ), -- rule : 256 ARankExpressionKeyword \[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("rank") ([ nodeArrayList3, nodeArrayList5 ]) ), -- rule : 257 AFatherExpressionKeyword \[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("father") ([ nodeArrayList3, nodeArrayList5 ]) ), -- rule : 258 ASonExpressionKeyword \[nodeArrayList8,nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] -> ( ASTNode ("son") ([ nodeArrayList3, nodeArrayL