SableCC2Hs-0.0.0.1: haskell/MakeUntypedAST.hs
-- 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, nodeArrayList5, nodeArrayList7 ])
),
-- rule : 259 ASubtreeExpressionKeyword
\[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("subtree")
([ nodeArrayList3, nodeArrayList5 ])
),
-- rule : 260 AArityExpressionKeyword
\[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("arity")
([ nodeArrayList3, nodeArrayList5 ])
),
-- rule : 261 ABin1ExpressionKeyword
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("bin")
([ nodeArrayList3 ])
),
-- rule : 262 ABin2ExpressionKeyword
\[nodeArrayList8,nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("bin")
([ nodeArrayList3, nodeArrayList5, nodeArrayList7 ])
),
-- rule : 263 ALeftExpressionKeyword
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("left")
([ nodeArrayList3 ])
),
-- rule : 264 ARightExpressionKeyword
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("right")
([ nodeArrayList3 ])
),
-- rule : 265 AInfixExpressionKeyword
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("infix")
([ nodeArrayList3 ])
),
-- rule : 266 AStructExpressionKeyword
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("struct")
([ ( head
(( unASTList
(nodeArrayList3)
))
) ])
),
-- rule : 267 ARecExpressionKeyword
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("rec")
([ ( head
(( unASTList
(nodeArrayList3)
))
) ])
),
-- rule : 268 ARecordFieldExpressionKeyword
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("record_field")
([ nodeArrayList1, nodeArrayList3 ])
),
-- rule : 269 ANextLevelExpressionKeyword
\[nodeArrayList1] ->
nodeArrayList1,
-- rule : 270 ARecEntry
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("rec_entry")
([ nodeArrayList1, nodeArrayList3 ])
),
-- rule : 271 ASingleRecEntryList
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 272 AMultiRecEntryList
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList3 ])
))
) ])
),
-- rule : 273 AFunctionExpressionFunc
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("function")
([ nodeArrayList1, ( head
(( unASTList
(nodeArrayList3)
))
) ])
),
-- rule : 274 ANextLevelExpressionFunc
\[nodeArrayList1] ->
nodeArrayList1,
-- rule : 275 AParenExpressionAtomic
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
nodeArrayList2,
-- rule : 276 AIdentifierExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("identifier")
([ ( head
(( unASTList
(nodeArrayList1)
))
) ])
),
-- rule : 277 APrimedIdentifierExpressionAtomic
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("primed_identifier")
([ ( head
(( unASTList
(nodeArrayList1)
))
), nodeArrayList3 ])
),
-- rule : 278 AAstringexpressionatomic1ExpressionAtomic
\[nodeArrayList2,nodeArrayList1] ->
( ASTNode
("string")
([ ])
),
-- rule : 279 AAstringexpressionatomic2ExpressionAtomic
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("string")
([ nodeArrayList2 ])
),
-- rule : 280 ATrueExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("true")
([ ])
),
-- rule : 281 AFalseExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("false")
([ ])
),
-- rule : 282 ASuccessorExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("successor")
([ ])
),
-- rule : 283 APredecessorExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("predecessor")
([ ])
),
-- rule : 284 AIntegerExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("integer")
([ nodeArrayList1 ])
),
-- rule : 285 AMaxIntExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("max_int")
([ ])
),
-- rule : 286 AMinIntExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("min_int")
([ ])
),
-- rule : 287 AEmptySetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("empty_set")
([ ])
),
-- rule : 288 AIntegerSetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("integer_set")
([ ])
),
-- rule : 289 ANaturalSetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("natural_set")
([ ])
),
-- rule : 290 ANatural1SetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("natural1_set")
([ ])
),
-- rule : 291 ANatSetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("nat_set")
([ ])
),
-- rule : 292 ANat1SetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("nat1_set")
([ ])
),
-- rule : 293 AIntSetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("int_set")
([ ])
),
-- rule : 294 ABoolSetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("bool_set")
([ ])
),
-- rule : 295 AStringSetExpressionAtomic
\[nodeArrayList1] ->
( ASTNode
("string_set")
([ ])
),
-- rule : 296 ASingleExpressionList
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 297 AMultipleExpressionList
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList3 ])
))
) ])
),
-- rule : 298 AAsequencesubstitutionl11SubstitutionL1
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("sequence")
([ ( ASTList
(( (++)
(( unASTList
(( ASTList
([ nodeArrayList1 ])
))
))
([ nodeArrayList3 ])
))
) ])
),
-- rule : 299 AAsequencesubstitutionl12SubstitutionL1
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("sequence")
([ ( ASTList
(( (++)
(( unASTList
(( ASTList
(( (++)
(( unASTList
(( ASTList
([ nodeArrayList1 ])
))
))
([ nodeArrayList3 ])
))
))
))
(( unASTList
(( head
(( unASTList
(nodeArrayList4)
))
))
))
))
) ])
),
-- rule : 300 ANextLevelSubstitutionL1
\[nodeArrayList1] ->
nodeArrayList1,
-- rule : 301 AAparallelsubstitutionl21SubstitutionL2
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("parallel")
([ ( ASTList
(( (++)
(( unASTList
(( ASTList
([ nodeArrayList1 ])
))
))
([ nodeArrayList3 ])
))
) ])
),
-- rule : 302 AAparallelsubstitutionl22SubstitutionL2
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("parallel")
([ ( ASTList
(( (++)
(( unASTList
(( ASTList
(( (++)
(( unASTList
(( ASTList
([ nodeArrayList1 ])
))
))
([ nodeArrayList3 ])
))
))
))
(( unASTList
(( head
(( unASTList
(nodeArrayList4)
))
))
))
))
) ])
),
-- rule : 303 ANextLevelSubstitutionL2
\[nodeArrayList1] ->
nodeArrayList1,
-- rule : 304 ABlockSubstitutionL3
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("block")
([ nodeArrayList2 ])
),
-- rule : 305 ASkipSubstitutionL3
\[nodeArrayList1] ->
( ASTNode
("skip")
([ ])
),
-- rule : 306 AAssignSubstitutionL3
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("assign")
([ ( head
(( unASTList
(nodeArrayList1)
))
), ( head
(( unASTList
(nodeArrayList3)
))
) ])
),
-- rule : 307 APreconditionSubstitutionL3
\[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("precondition")
([ nodeArrayList2, nodeArrayList4 ])
),
-- rule : 308 AAssertionSubstitutionL3
\[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("assertion")
([ nodeArrayList2, nodeArrayList4 ])
),
-- rule : 309 AAchoicesubstitutionl31SubstitutionL3
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("choice")
([ ( ASTList
([ nodeArrayList2 ])
) ])
),
-- rule : 310 AAchoicesubstitutionl32SubstitutionL3
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("choice")
([ ( ASTList
(( (++)
(( unASTList
(( ASTList
([ nodeArrayList2 ])
))
))
(( unASTList
(( head
(( unASTList
(nodeArrayList3)
))
))
))
))
) ])
),
-- rule : 311 AAifsubstitutionl31SubstitutionL3
\[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("if")
([ nodeArrayList2, nodeArrayList4, ASTList [] ])
),
-- rule : 312 AAifsubstitutionl32SubstitutionL3
\[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("if")
([ nodeArrayList2, nodeArrayList4, ( head
(( unASTList
(nodeArrayList5)
))
) ])
),
-- rule : 313 AAifsubstitutionl33SubstitutionL3
\[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("if")
([ nodeArrayList2, nodeArrayList4, ASTList [], nodeArrayList5 ])
),
-- rule : 314 AAifsubstitutionl34SubstitutionL3
\[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("if")
([ nodeArrayList2, nodeArrayList4, ( head
(( unASTList
(nodeArrayList5)
))
), nodeArrayList6 ])
),
-- rule : 315 AAselectsubstitutionl31SubstitutionL3
\[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("select")
([ nodeArrayList2, nodeArrayList4, ASTList [] ])
),
-- rule : 316 AAselectsubstitutionl32SubstitutionL3
\[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("select")
([ nodeArrayList2, nodeArrayList4, ( head
(( unASTList
(nodeArrayList5)
))
) ])
),
-- rule : 317 AAselectsubstitutionl33SubstitutionL3
\[nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("select")
([ nodeArrayList2, nodeArrayList4, ASTList [], nodeArrayList5 ])
),
-- rule : 318 AAselectsubstitutionl34SubstitutionL3
\[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("select")
([ nodeArrayList2, nodeArrayList4, ( head
(( unASTList
(nodeArrayList5)
))
), nodeArrayList6 ])
),
-- rule : 319 AAcasesubstitutionl31SubstitutionL3
\[nodeArrayList9,nodeArrayList8,nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("case")
([ nodeArrayList2, ( head
(( unASTList
(nodeArrayList5)
))
), nodeArrayList7, ASTList [] ])
),
-- rule : 320 AAcasesubstitutionl32SubstitutionL3
\[nodeArrayList10,nodeArrayList9,nodeArrayList8,nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("case")
([ nodeArrayList2, ( head
(( unASTList
(nodeArrayList5)
))
), nodeArrayList7, ( head
(( unASTList
(nodeArrayList8)
))
) ])
),
-- rule : 321 AAcasesubstitutionl33SubstitutionL3
\[nodeArrayList10,nodeArrayList9,nodeArrayList8,nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("case")
([ nodeArrayList2, ( head
(( unASTList
(nodeArrayList5)
))
), nodeArrayList7, ASTList [], nodeArrayList8 ])
),
-- rule : 322 AAcasesubstitutionl34SubstitutionL3
\[nodeArrayList11,nodeArrayList10,nodeArrayList9,nodeArrayList8,nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("case")
([ nodeArrayList2, ( head
(( unASTList
(nodeArrayList5)
))
), nodeArrayList7, ( head
(( unASTList
(nodeArrayList8)
))
), nodeArrayList9 ])
),
-- rule : 323 AAnySubstitutionL3
\[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("any")
([ ( head
(( unASTList
(nodeArrayList2)
))
), nodeArrayList4, nodeArrayList6 ])
),
-- rule : 324 ABecomesElementOfSubstitutionL3
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("becomes_element_of")
([ ( head
(( unASTList
(nodeArrayList1)
))
), nodeArrayList3 ])
),
-- rule : 325 ABecomesSuchSubstitutionL3
\[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("becomes_such")
([ ( head
(( unASTList
(nodeArrayList1)
))
), nodeArrayList4 ])
),
-- rule : 326 AVarSubstitutionL3
\[nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("var")
([ ( head
(( unASTList
(nodeArrayList2)
))
), nodeArrayList4 ])
),
-- rule : 327 AFuncOpSubstitutionL3
\[nodeArrayList1] ->
( ASTNode
("func_op")
([ nodeArrayList1 ])
),
-- rule : 328 AAopwithreturnsubstitutionl31SubstitutionL3
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("op_with_return")
([ ( head
(( unASTList
(nodeArrayList1)
))
), ( head
(( unASTList
(nodeArrayList3)
))
), ASTList [] ])
),
-- rule : 329 AAopwithreturnsubstitutionl32SubstitutionL3
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("op_with_return")
([ ( head
(( unASTList
(nodeArrayList1)
))
), ( head
(( unASTList
(nodeArrayList3)
))
), ( head
(( unASTList
(nodeArrayList4)
))
) ])
),
-- rule : 330 AWhileSubstitutionL3
\[nodeArrayList9,nodeArrayList8,nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("while")
([ nodeArrayList2, nodeArrayList4, nodeArrayList6, nodeArrayList8 ])
),
-- rule : 331 ALetSubstitutionL3
\[nodeArrayList7,nodeArrayList6,nodeArrayList5,nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("let")
([ ( head
(( unASTList
(nodeArrayList2)
))
), nodeArrayList4, nodeArrayList6 ])
),
-- rule : 332 AAdefinitionsubstitutionl31SubstitutionL3
\[nodeArrayList1] ->
( ASTNode
("definition")
([ nodeArrayList1, ASTList [] ])
),
-- rule : 333 AAdefinitionsubstitutionl32SubstitutionL3
\[nodeArrayList2,nodeArrayList1] ->
( ASTNode
("definition")
([ nodeArrayList1, ( head
(( unASTList
(nodeArrayList2)
))
) ])
),
-- rule : 334 ASingleParallelSubstTail
\[nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList2 ])
) ])
),
-- rule : 335 AMultiParallelSubstTail
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( ASTList
([ nodeArrayList2 ])
))
))
(( unASTList
(( head
(( unASTList
(nodeArrayList3)
))
))
))
))
) ])
),
-- rule : 336 ASingleSequenceSubstTail
\[nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList2 ])
) ])
),
-- rule : 337 AMultiSequenceSubstTail
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( ASTList
([ nodeArrayList2 ])
))
))
(( unASTList
(( head
(( unASTList
(nodeArrayList3)
))
))
))
))
) ])
),
-- rule : 338 AChoiceOr
\[nodeArrayList2,nodeArrayList1] ->
( ASTNode
("choice_or")
([ nodeArrayList2 ])
),
-- rule : 339 AIfElsif
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("if_elsif")
([ nodeArrayList2, nodeArrayList4 ])
),
-- rule : 340 AIfElse
\[nodeArrayList2,nodeArrayList1] ->
nodeArrayList2,
-- rule : 341 ASelectWhen
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("select_when")
([ nodeArrayList2, nodeArrayList4 ])
),
-- rule : 342 ASelectElse
\[nodeArrayList2,nodeArrayList1] ->
nodeArrayList2,
-- rule : 343 ACaseOr
\[nodeArrayList4,nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTNode
("case_or")
([ ( head
(( unASTList
(nodeArrayList2)
))
), nodeArrayList4 ])
),
-- rule : 344 ACaseElse
\[nodeArrayList2,nodeArrayList1] ->
nodeArrayList2,
-- rule : 345 AOpParams
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( head
(( unASTList
(nodeArrayList2)
))
) ])
),
-- rule : 346 ASingleComposedIdentifier
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 347 AMultiComposedIdentifier
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList3 ])
))
) ])
),
-- rule : 348 ASingleIdentifierList
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 349 AMultiIdentifierList
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList3 ])
))
) ])
),
-- rule : 350 AComposedIdentifierExpression
\[nodeArrayList1] ->
( ASTNode
("identifier")
([ ( head
(( unASTList
(nodeArrayList1)
))
) ])
),
-- rule : 351 ADefCallParams
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( head
(( unASTList
(nodeArrayList2)
))
) ])
),
-- rule : 352 AAoperationpattern1OperationPattern
\[nodeArrayList1] ->
( ASTNode
("oppattern")
([ ( head
(( unASTList
(nodeArrayList1)
))
), ASTList [] ])
),
-- rule : 353 AAoperationpattern2OperationPattern
\[nodeArrayList2,nodeArrayList1] ->
( ASTNode
("oppattern")
([ ( head
(( unASTList
(nodeArrayList1)
))
), ( head
(( unASTList
(nodeArrayList2)
))
) ])
),
-- rule : 354 AOpPatternParams
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( head
(( unASTList
(nodeArrayList2)
))
) ])
),
-- rule : 355 ASingleOppatternList
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 356 AMultipleOppatternList
\[nodeArrayList3,nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList3 ])
))
) ])
),
-- rule : 357 ADefOpPatternParam
\[nodeArrayList1] ->
( ASTNode
("def")
([ nodeArrayList1 ])
),
-- rule : 358 AUndefOpPatternParam
\[nodeArrayList1] ->
( ASTNode
("undef")
([ ])
),
-- rule : 359 ATerminal$ChoiceOr
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 360 ANonTerminal$ChoiceOr
\[nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList2 ])
))
) ])
),
-- rule : 361 ATerminal$IfElsif
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 362 ANonTerminal$IfElsif
\[nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList2 ])
))
) ])
),
-- rule : 363 ATerminal$SelectWhen
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 364 ANonTerminal$SelectWhen
\[nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList2 ])
))
) ])
),
-- rule : 365 ATerminal$CaseOr
\[nodeArrayList1] ->
( ASTList
([ ( ASTList
([ nodeArrayList1 ])
) ])
),
-- rule : 366 ANonTerminal$CaseOr
\[nodeArrayList2,nodeArrayList1] ->
( ASTList
([ ( ASTList
(( (++)
(( unASTList
(( head
(( unASTList
(nodeArrayList1)
))
))
))
([ nodeArrayList2 ])
))
) ])
)
]