# Parser. # This file was generated by SableCC (http://www.sablecc.org/). package parser import parser_prod intrude import parser_tables # State of the parser automata as stored in the parser stack. private class State # The internal state number readable writable attr _state: Int # The node stored with the state in the stack readable writable attr _nodes: Object init(state: Int, nodes: Object) do _state = state _nodes = nodes end end redef class Parser # Associated lexer attr _lexer: Lexer # Stack of pushed states and productions attr _stack: Array[State] # Position in the stack attr _stack_pos: Int # Create a new parser based on a given lexer init(lexer: Lexer) do _lexer = lexer _stack = new Array[State] _stack_pos = -1 build_goto_table build_action_table build_reduce_table end # Do a transition in the automata private meth go_to(index: Int): Int do var state = state var table = _goto_table[index] var low = 1 var high = table.length/2 - 1 while low <= high do var middle = (low + high) / 2 var subindex = middle * 2 if state < table[subindex] then high = middle - 1 else if state > table[subindex] then low = middle + 1 else return table[subindex + 1] end end return table[1] # Default value end # Push someting in the state stack private meth push(numstate: Int, list_node: Object) do var pos = _stack_pos + 1 _stack_pos = pos if pos < _stack.length then var state = _stack[pos] state.state = numstate state.nodes = list_node else _stack.push(new State(numstate, list_node)) end end # The current state private meth state: Int do return _stack[_stack_pos].state end # Pop something from the stack state private meth pop: Object do var res = _stack[_stack_pos].nodes _stack_pos = _stack_pos -1 return res end # Build and return a full AST. meth parse: Start do push(0, null) var ign: List[Token] = null var lexer = _lexer while true do var token = lexer.peek var last_pos = token.pos var last_line = token.line if token isa PError then assert token isa PError return new Start(null, token) end var index = token.parser_index var table = _action_table[state] var action_type = table[1] var action_value = table[2] var low = 1 var high = table.length/3 - 1 while low <= high do var middle = (low + high) / 2 var subindex = middle * 3 if index < table[subindex] then high = middle - 1 else if index > table[subindex] then low = middle + 1 else action_type = table[subindex + 1] action_value = table[subindex + 2] high = low -1 # break end end if action_type == 0 then # SHIFT push(action_value, lexer.next) else if action_type == 1 then # REDUCE _reduce_table[action_value].action(self) else if action_type == 2 then # ACCEPT var node2 = lexer.next assert node2 isa EOF var node1 = pop assert node1 isa PModule var node = new Start(node1, node2) (new SearchTokensVisitor).visit(node) return node else if action_type == 3 then # ERROR var node2 = new PError.init_error(lexer.filename, last_line, last_pos, error_messages[errors[action_value]]) var node = new Start(null, node2) return node end end return null end attr _reduce_table: Array[ReduceAction] private meth build_reduce_table do _reduce_table = new Array[ReduceAction].with( new ReduceAction0, new ReduceAction1, new ReduceAction2, new ReduceAction3, new ReduceAction4, new ReduceAction5, new ReduceAction6, new ReduceAction7, new ReduceAction8, new ReduceAction9, new ReduceAction10, new ReduceAction11, new ReduceAction12, new ReduceAction13, new ReduceAction14, new ReduceAction15, new ReduceAction16, new ReduceAction17, new ReduceAction18, new ReduceAction19, new ReduceAction20, new ReduceAction21, new ReduceAction22, new ReduceAction23, new ReduceAction24, new ReduceAction25, new ReduceAction26, new ReduceAction27, new ReduceAction28, new ReduceAction29, new ReduceAction30, new ReduceAction31, new ReduceAction32, new ReduceAction33, new ReduceAction34, new ReduceAction35, new ReduceAction36, new ReduceAction37, new ReduceAction38, new ReduceAction39, new ReduceAction40, new ReduceAction41, new ReduceAction42, new ReduceAction43, new ReduceAction44, new ReduceAction45, new ReduceAction46, new ReduceAction47, new ReduceAction48, new ReduceAction49, new ReduceAction50, new ReduceAction51, new ReduceAction52, new ReduceAction53, new ReduceAction54, new ReduceAction55, new ReduceAction56, new ReduceAction57, new ReduceAction58, new ReduceAction59, new ReduceAction60, new ReduceAction61, new ReduceAction62, new ReduceAction63, new ReduceAction64, new ReduceAction65, new ReduceAction66, new ReduceAction67, new ReduceAction68, new ReduceAction69, new ReduceAction70, new ReduceAction71, new ReduceAction72, new ReduceAction73, new ReduceAction74, new ReduceAction75, new ReduceAction76, new ReduceAction77, new ReduceAction78, new ReduceAction79, new ReduceAction80, new ReduceAction81, new ReduceAction82, new ReduceAction83, new ReduceAction84, new ReduceAction85, new ReduceAction86, new ReduceAction87, new ReduceAction88, new ReduceAction89, new ReduceAction90, new ReduceAction91, new ReduceAction92, new ReduceAction93, new ReduceAction94, new ReduceAction95, new ReduceAction96, new ReduceAction97, new ReduceAction98, new ReduceAction99, new ReduceAction100, new ReduceAction101, new ReduceAction102, new ReduceAction103, new ReduceAction104, new ReduceAction105, new ReduceAction106, new ReduceAction107, new ReduceAction108, new ReduceAction109, new ReduceAction110, new ReduceAction111, new ReduceAction112, new ReduceAction113, new ReduceAction114, new ReduceAction115, new ReduceAction116, new ReduceAction117, new ReduceAction118, new ReduceAction119, new ReduceAction120, new ReduceAction121, new ReduceAction122, new ReduceAction123, new ReduceAction124, new ReduceAction125, new ReduceAction126, new ReduceAction127, new ReduceAction128, new ReduceAction129, new ReduceAction130, new ReduceAction131, new ReduceAction132, new ReduceAction133, new ReduceAction134, new ReduceAction135, new ReduceAction136, new ReduceAction137, new ReduceAction138, new ReduceAction139, new ReduceAction140, new ReduceAction141, new ReduceAction142, new ReduceAction143, new ReduceAction144, new ReduceAction145, new ReduceAction146, new ReduceAction147, new ReduceAction148, new ReduceAction149, new ReduceAction150, new ReduceAction151, new ReduceAction152, new ReduceAction153, new ReduceAction154, new ReduceAction155, new ReduceAction156, new ReduceAction157, new ReduceAction158, new ReduceAction159, new ReduceAction160, new ReduceAction161, new ReduceAction162, new ReduceAction163, new ReduceAction164, new ReduceAction165, new ReduceAction166, new ReduceAction167, new ReduceAction168, new ReduceAction169, new ReduceAction170, new ReduceAction171, new ReduceAction172, new ReduceAction173, new ReduceAction174, new ReduceAction175, new ReduceAction176, new ReduceAction177, new ReduceAction178, new ReduceAction179, new ReduceAction180, new ReduceAction181, new ReduceAction182, new ReduceAction183, new ReduceAction184, new ReduceAction185, new ReduceAction186, new ReduceAction187, new ReduceAction188, new ReduceAction189, new ReduceAction190, new ReduceAction191, new ReduceAction192, new ReduceAction193, new ReduceAction194, new ReduceAction195, new ReduceAction196, new ReduceAction197, new ReduceAction198, new ReduceAction199, new ReduceAction200, new ReduceAction201, new ReduceAction202, new ReduceAction203, new ReduceAction204, new ReduceAction205, new ReduceAction206, new ReduceAction207, new ReduceAction208, new ReduceAction209, new ReduceAction210, new ReduceAction211, new ReduceAction212, new ReduceAction213, new ReduceAction214, new ReduceAction215, new ReduceAction216, new ReduceAction217, new ReduceAction218, new ReduceAction219, new ReduceAction220, new ReduceAction221, new ReduceAction222, new ReduceAction223, new ReduceAction224, new ReduceAction225, new ReduceAction226, new ReduceAction227, new ReduceAction228, new ReduceAction229, new ReduceAction230, new ReduceAction231, new ReduceAction232, new ReduceAction233, new ReduceAction234, new ReduceAction235, new ReduceAction236, new ReduceAction237, new ReduceAction238, new ReduceAction239, new ReduceAction240, new ReduceAction241, new ReduceAction242, new ReduceAction243, new ReduceAction244, new ReduceAction245, new ReduceAction246, new ReduceAction247, new ReduceAction248, new ReduceAction249, new ReduceAction250, new ReduceAction251, new ReduceAction252, new ReduceAction253, new ReduceAction254, new ReduceAction255, new ReduceAction256, new ReduceAction257, new ReduceAction258, new ReduceAction259, new ReduceAction260, new ReduceAction261, new ReduceAction262, new ReduceAction263, new ReduceAction264, new ReduceAction265, new ReduceAction266, new ReduceAction267, new ReduceAction268, new ReduceAction269, new ReduceAction270, new ReduceAction271, new ReduceAction272, new ReduceAction273, new ReduceAction274, new ReduceAction275, new ReduceAction276, new ReduceAction277, new ReduceAction278, new ReduceAction279, new ReduceAction280, new ReduceAction281, new ReduceAction282, new ReduceAction283, new ReduceAction284, new ReduceAction285, new ReduceAction286, new ReduceAction287, new ReduceAction288, new ReduceAction289, new ReduceAction290, new ReduceAction291, new ReduceAction292, new ReduceAction293, new ReduceAction294, new ReduceAction295, new ReduceAction296, new ReduceAction297, new ReduceAction298, new ReduceAction299, new ReduceAction300, new ReduceAction301, new ReduceAction302, new ReduceAction303, new ReduceAction304, new ReduceAction305, new ReduceAction306, new ReduceAction307, new ReduceAction308, new ReduceAction309, new ReduceAction310, new ReduceAction311, new ReduceAction312, new ReduceAction313, new ReduceAction314, new ReduceAction315, new ReduceAction316, new ReduceAction317, new ReduceAction318, new ReduceAction319, new ReduceAction320, new ReduceAction321, new ReduceAction322, new ReduceAction323, new ReduceAction324, new ReduceAction325, new ReduceAction326, new ReduceAction327, new ReduceAction328, new ReduceAction329, new ReduceAction330, new ReduceAction331, new ReduceAction332, new ReduceAction333, new ReduceAction334, new ReduceAction335, new ReduceAction336, new ReduceAction337, new ReduceAction338, new ReduceAction339, new ReduceAction340, new ReduceAction341, new ReduceAction342, new ReduceAction343, new ReduceAction344, new ReduceAction345, new ReduceAction346, new ReduceAction347, new ReduceAction348, new ReduceAction349, new ReduceAction350, new ReduceAction351, new ReduceAction352, new ReduceAction353, new ReduceAction354, new ReduceAction355, new ReduceAction356, new ReduceAction357, new ReduceAction358, new ReduceAction359, new ReduceAction360, new ReduceAction361, new ReduceAction362, new ReduceAction363, new ReduceAction364, new ReduceAction365, new ReduceAction366, new ReduceAction367, new ReduceAction368, new ReduceAction369, new ReduceAction370, new ReduceAction371, new ReduceAction372, new ReduceAction373, new ReduceAction374, new ReduceAction375, new ReduceAction376, new ReduceAction377, new ReduceAction378, new ReduceAction379, new ReduceAction380, new ReduceAction381, new ReduceAction382, new ReduceAction383, new ReduceAction384, new ReduceAction385, new ReduceAction386, new ReduceAction387, new ReduceAction388, new ReduceAction389, new ReduceAction390, new ReduceAction391, new ReduceAction392, new ReduceAction393, new ReduceAction394, new ReduceAction395, new ReduceAction396, new ReduceAction397, new ReduceAction398, new ReduceAction399, new ReduceAction400, new ReduceAction401, new ReduceAction402, new ReduceAction403, new ReduceAction404, new ReduceAction405, new ReduceAction406, new ReduceAction407, new ReduceAction408, new ReduceAction409, new ReduceAction410, new ReduceAction411, new ReduceAction412, new ReduceAction413, new ReduceAction414, new ReduceAction415, new ReduceAction416, new ReduceAction417, new ReduceAction418, new ReduceAction419, new ReduceAction420, new ReduceAction421, new ReduceAction422, new ReduceAction423, new ReduceAction424, new ReduceAction425, new ReduceAction426, new ReduceAction427, new ReduceAction428, new ReduceAction429, new ReduceAction430, new ReduceAction431, new ReduceAction432, new ReduceAction433, new ReduceAction434, new ReduceAction435, new ReduceAction436, new ReduceAction437, new ReduceAction438, new ReduceAction439, new ReduceAction440, new ReduceAction441, new ReduceAction442, new ReduceAction443, new ReduceAction444, new ReduceAction445, new ReduceAction446, new ReduceAction447, new ReduceAction448, new ReduceAction449, new ReduceAction450, new ReduceAction451, new ReduceAction452, new ReduceAction453, new ReduceAction454, new ReduceAction455, new ReduceAction456, new ReduceAction457, new ReduceAction458, new ReduceAction459, new ReduceAction460, new ReduceAction461, new ReduceAction462, new ReduceAction463, new ReduceAction464, new ReduceAction465, new ReduceAction466, new ReduceAction467, new ReduceAction468, new ReduceAction469, new ReduceAction470, new ReduceAction471, new ReduceAction472, new ReduceAction473, new ReduceAction474, new ReduceAction475, new ReduceAction476, new ReduceAction477, new ReduceAction478, new ReduceAction479, new ReduceAction480, new ReduceAction481, new ReduceAction482, new ReduceAction483, new ReduceAction484, new ReduceAction485, new ReduceAction486, new ReduceAction487, new ReduceAction488, new ReduceAction489, new ReduceAction490, new ReduceAction491, new ReduceAction492, new ReduceAction493, new ReduceAction494, new ReduceAction495, new ReduceAction496, new ReduceAction497, new ReduceAction498, new ReduceAction499, new ReduceAction500, new ReduceAction501, new ReduceAction502, new ReduceAction503, new ReduceAction504, new ReduceAction505, new ReduceAction506, new ReduceAction507, new ReduceAction508, new ReduceAction509, new ReduceAction510, new ReduceAction511, new ReduceAction512, new ReduceAction513, new ReduceAction514, new ReduceAction515, new ReduceAction516, new ReduceAction517, new ReduceAction518, new ReduceAction519, new ReduceAction520, new ReduceAction521, new ReduceAction522, new ReduceAction523, new ReduceAction524, new ReduceAction525, new ReduceAction526, new ReduceAction527, new ReduceAction528, new ReduceAction529, new ReduceAction530, new ReduceAction531, new ReduceAction532, new ReduceAction533, new ReduceAction534, new ReduceAction535, new ReduceAction536, new ReduceAction537, new ReduceAction538, new ReduceAction539, new ReduceAction540, new ReduceAction541, new ReduceAction542, new ReduceAction543, new ReduceAction544, new ReduceAction545, new ReduceAction546, new ReduceAction547, new ReduceAction548, new ReduceAction549, new ReduceAction550, new ReduceAction551, new ReduceAction552, new ReduceAction553, new ReduceAction554, new ReduceAction555, new ReduceAction556, new ReduceAction557, new ReduceAction558, new ReduceAction559, new ReduceAction560, new ReduceAction561, new ReduceAction562, new ReduceAction563, new ReduceAction564, new ReduceAction565, new ReduceAction566, new ReduceAction567, new ReduceAction568 ) end end # Find first and last tokens of production nodes private class SearchTokensVisitor special Visitor attr _untokenned_nodes: Array[Prod] attr _last_token: Token redef meth visit(n: PNode) do if n isa Token then assert n isa Token _last_token = n for no in _untokenned_nodes do no.first_token = n end _untokenned_nodes.clear else assert n isa Prod _untokenned_nodes.add(n) n.visit_all(self) n.last_token = _last_token end end init do _untokenned_nodes = new Array[Prod] end end # Each reduca action has its own class, this one is the root of the hierarchy. private abstract class ReduceAction meth action(p: Parser) is abstract end private class ReduceAction0 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var listnode3 = new Array[Object] var listnode4 = new Array[Object] var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode4 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction1 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode4 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode4 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction2 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode5 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode5 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction3 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode5 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode5 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction4 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode5 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction5 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode5 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction6 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode6 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction7 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode6 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction8 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode7 = new Array[Object] var listnode6 = new Array[Object] var ppropdefnode5 = nodearraylist1 assert ppropdefnode5 isa PPropdef if ppropdefnode5 != null then listnode6.add(ppropdefnode5) end var pclassdefnode4 = new ATopClassdef.init_atopclassdef( listnode6 ) if pclassdefnode4 != null then listnode7.add(pclassdefnode4) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode7 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction9 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode8 = new Array[Object] var listnode7 = new Array[Object] var ppropdefnode5 = nodearraylist1 assert ppropdefnode5 isa PPropdef var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] if ppropdefnode5 != null then listnode7.add(ppropdefnode5) end if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end end var pclassdefnode4 = new ATopClassdef.init_atopclassdef( listnode7 ) if pclassdefnode4 != null then listnode8.add(pclassdefnode4) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode8 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction10 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode7 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode6 = new Array[Object] var ppropdefnode5 = nodearraylist2 assert ppropdefnode5 isa PPropdef if ppropdefnode5 != null then listnode6.add(ppropdefnode5) end var pclassdefnode4 = new ATopClassdef.init_atopclassdef( listnode6 ) if pclassdefnode4 != null then listnode7.add(pclassdefnode4) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode7 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction11 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode8 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode7 = new Array[Object] var ppropdefnode5 = nodearraylist2 assert ppropdefnode5 isa PPropdef var listnode6 = nodearraylist4 assert listnode6 isa Array[Object] if ppropdefnode5 != null then listnode7.add(ppropdefnode5) end if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end end var pclassdefnode4 = new ATopClassdef.init_atopclassdef( listnode7 ) if pclassdefnode4 != null then listnode8.add(pclassdefnode4) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode8 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction12 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode8 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist2 assert ppropdefnode6 isa PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode7 ) if pclassdefnode5 != null then listnode8.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode8 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction13 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist2 assert ppropdefnode6 isa PPropdef var listnode7 = nodearraylist4 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode8 ) if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction14 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode8 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist3 assert ppropdefnode6 isa PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode7 ) if pclassdefnode5 != null then listnode8.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode8 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction15 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist3 assert ppropdefnode6 isa PPropdef var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode8 ) if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction16 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode8 = new Array[Object] var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist2 assert ppropdefnode6 isa PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode7 ) if listnode4 != null then if listnode8.is_empty then listnode8 = listnode4 else listnode8.append(listnode4) end end if pclassdefnode5 != null then listnode8.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode8 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction17 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode9 = new Array[Object] var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist2 assert ppropdefnode6 isa PPropdef var listnode7 = nodearraylist4 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode8 ) if listnode4 != null then if listnode9.is_empty then listnode9 = listnode4 else listnode9.append(listnode4) end end if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction18 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode8 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist3 assert ppropdefnode6 isa PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode7 ) if listnode4 != null then if listnode8.is_empty then listnode8 = listnode4 else listnode8.append(listnode4) end end if pclassdefnode5 != null then listnode8.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode8 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction19 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist3 assert ppropdefnode6 isa PPropdef var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode8 ) if listnode4 != null then if listnode9.is_empty then listnode9 = listnode4 else listnode9.append(listnode4) end end if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction20 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode7 = nodearraylist3 assert ppropdefnode7 isa PPropdef if ppropdefnode7 != null then listnode8.add(ppropdefnode7) end var pclassdefnode6 = new ATopClassdef.init_atopclassdef( listnode8 ) if listnode5 != null then if listnode9.is_empty then listnode9 = listnode5 else listnode9.append(listnode5) end end if pclassdefnode6 != null then listnode9.add(pclassdefnode6) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction21 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var listnode9 = new Array[Object] var ppropdefnode7 = nodearraylist3 assert ppropdefnode7 isa PPropdef var listnode8 = nodearraylist5 assert listnode8 isa Array[Object] if ppropdefnode7 != null then listnode9.add(ppropdefnode7) end if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var pclassdefnode6 = new ATopClassdef.init_atopclassdef( listnode9 ) if listnode5 != null then if listnode10.is_empty then listnode10 = listnode5 else listnode10.append(listnode5) end end if pclassdefnode6 != null then listnode10.add(pclassdefnode6) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode10 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction22 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode7 = nodearraylist4 assert ppropdefnode7 isa PPropdef if ppropdefnode7 != null then listnode8.add(ppropdefnode7) end var pclassdefnode6 = new ATopClassdef.init_atopclassdef( listnode8 ) if listnode5 != null then if listnode9.is_empty then listnode9 = listnode5 else listnode9.append(listnode5) end end if pclassdefnode6 != null then listnode9.add(pclassdefnode6) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction23 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var listnode9 = new Array[Object] var ppropdefnode7 = nodearraylist4 assert ppropdefnode7 isa PPropdef var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] if ppropdefnode7 != null then listnode9.add(ppropdefnode7) end if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var pclassdefnode6 = new ATopClassdef.init_atopclassdef( listnode9 ) if listnode5 != null then if listnode10.is_empty then listnode10 = listnode5 else listnode10.append(listnode5) end end if pclassdefnode6 != null then listnode10.add(pclassdefnode6) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode10 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction24 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] var pclassdefnode4 = nodearraylist1 assert pclassdefnode4 isa PClassdef if pclassdefnode4 != null then listnode5.add(pclassdefnode4) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode5 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction25 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var pclassdefnode4 = nodearraylist2 assert pclassdefnode4 isa PClassdef if pclassdefnode4 != null then listnode5.add(pclassdefnode4) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode5 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction26 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var pclassdefnode5 = nodearraylist2 assert pclassdefnode5 isa PClassdef if pclassdefnode5 != null then listnode6.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode6 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction27 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var pclassdefnode5 = nodearraylist3 assert pclassdefnode5 isa PClassdef if pclassdefnode5 != null then listnode6.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode6 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction28 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode6 = new Array[Object] var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var pclassdefnode5 = nodearraylist2 assert pclassdefnode5 isa PClassdef if listnode4 != null then if listnode6.is_empty then listnode6 = listnode4 else listnode6.append(listnode4) end end if pclassdefnode5 != null then listnode6.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode6 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction29 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode6 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var pclassdefnode5 = nodearraylist3 assert pclassdefnode5 isa PClassdef if listnode4 != null then if listnode6.is_empty then listnode6 = listnode4 else listnode6.append(listnode4) end end if pclassdefnode5 != null then listnode6.add(pclassdefnode5) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode6 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction30 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode7 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var pclassdefnode6 = nodearraylist3 assert pclassdefnode6 isa PClassdef if listnode5 != null then if listnode7.is_empty then listnode7 = listnode5 else listnode7.append(listnode5) end end if pclassdefnode6 != null then listnode7.add(pclassdefnode6) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode7 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction31 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode7 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var pclassdefnode6 = nodearraylist4 assert pclassdefnode6 isa PClassdef if listnode5 != null then if listnode7.is_empty then listnode7 = listnode5 else listnode7.append(listnode5) end end if pclassdefnode6 != null then listnode7.add(pclassdefnode6) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode7 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction32 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode8 = new Array[Object] var listnode6 = new Array[Object] var ppropdefnode5 = nodearraylist1 assert ppropdefnode5 isa PPropdef if ppropdefnode5 != null then listnode6.add(ppropdefnode5) end var pclassdefnode4 = new ATopClassdef.init_atopclassdef( listnode6 ) var pclassdefnode7 = nodearraylist3 assert pclassdefnode7 isa PClassdef if pclassdefnode4 != null then listnode8.add(pclassdefnode4) end if pclassdefnode7 != null then listnode8.add(pclassdefnode7) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode8 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction33 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode9 = new Array[Object] var listnode7 = new Array[Object] var ppropdefnode5 = nodearraylist1 assert ppropdefnode5 isa PPropdef var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] if ppropdefnode5 != null then listnode7.add(ppropdefnode5) end if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end end var pclassdefnode4 = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist4 assert pclassdefnode8 isa PClassdef if pclassdefnode4 != null then listnode9.add(pclassdefnode4) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction34 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode8 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode6 = new Array[Object] var ppropdefnode5 = nodearraylist2 assert ppropdefnode5 isa PPropdef if ppropdefnode5 != null then listnode6.add(ppropdefnode5) end var pclassdefnode4 = new ATopClassdef.init_atopclassdef( listnode6 ) var pclassdefnode7 = nodearraylist4 assert pclassdefnode7 isa PClassdef if pclassdefnode4 != null then listnode8.add(pclassdefnode4) end if pclassdefnode7 != null then listnode8.add(pclassdefnode7) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode8 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction35 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode7 = new Array[Object] var ppropdefnode5 = nodearraylist2 assert ppropdefnode5 isa PPropdef var listnode6 = nodearraylist4 assert listnode6 isa Array[Object] if ppropdefnode5 != null then listnode7.add(ppropdefnode5) end if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end end var pclassdefnode4 = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist5 assert pclassdefnode8 isa PClassdef if pclassdefnode4 != null then listnode9.add(pclassdefnode4) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction36 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist2 assert ppropdefnode6 isa PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist4 assert pclassdefnode8 isa PClassdef if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction37 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist2 assert ppropdefnode6 isa PPropdef var listnode7 = nodearraylist4 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist5 assert pclassdefnode9 isa PClassdef if pclassdefnode5 != null then listnode10.add(pclassdefnode5) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode10 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction38 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist3 assert ppropdefnode6 isa PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist5 assert pclassdefnode8 isa PClassdef if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction39 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist3 assert ppropdefnode6 isa PPropdef var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist6 assert pclassdefnode9 isa PClassdef if pclassdefnode5 != null then listnode10.add(pclassdefnode5) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode10 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction40 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode9 = new Array[Object] var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist2 assert ppropdefnode6 isa PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist4 assert pclassdefnode8 isa PClassdef if listnode4 != null then if listnode9.is_empty then listnode9 = listnode4 else listnode9.append(listnode4) end end if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction41 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode10 = new Array[Object] var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist2 assert ppropdefnode6 isa PPropdef var listnode7 = nodearraylist4 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist5 assert pclassdefnode9 isa PClassdef if listnode4 != null then if listnode10.is_empty then listnode10 = listnode4 else listnode10.append(listnode4) end end if pclassdefnode5 != null then listnode10.add(pclassdefnode5) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end var pmodulenode1 = new AModule.init_amodule( null, listnode3, listnode10 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction42 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist3 assert ppropdefnode6 isa PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist5 assert pclassdefnode8 isa PClassdef if listnode4 != null then if listnode9.is_empty then listnode9 = listnode4 else listnode9.append(listnode4) end end if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode9 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction43 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode10 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist3 assert ppropdefnode6 isa PPropdef var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode5 = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist6 assert pclassdefnode9 isa PClassdef if listnode4 != null then if listnode10.is_empty then listnode10 = listnode4 else listnode10.append(listnode4) end end if pclassdefnode5 != null then listnode10.add(pclassdefnode5) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode10 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction44 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode7 = nodearraylist3 assert ppropdefnode7 isa PPropdef if ppropdefnode7 != null then listnode8.add(ppropdefnode7) end var pclassdefnode6 = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist5 assert pclassdefnode9 isa PClassdef if listnode5 != null then if listnode10.is_empty then listnode10 = listnode5 else listnode10.append(listnode5) end end if pclassdefnode6 != null then listnode10.add(pclassdefnode6) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode10 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction45 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode11 = new Array[Object] var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var listnode9 = new Array[Object] var ppropdefnode7 = nodearraylist3 assert ppropdefnode7 isa PPropdef var listnode8 = nodearraylist5 assert listnode8 isa Array[Object] if ppropdefnode7 != null then listnode9.add(ppropdefnode7) end if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var pclassdefnode6 = new ATopClassdef.init_atopclassdef( listnode9 ) var pclassdefnode10 = nodearraylist6 assert pclassdefnode10 isa PClassdef if listnode5 != null then if listnode11.is_empty then listnode11 = listnode5 else listnode11.append(listnode5) end end if pclassdefnode6 != null then listnode11.add(pclassdefnode6) end if pclassdefnode10 != null then listnode11.add(pclassdefnode10) end var pmodulenode1 = new AModule.init_amodule( null, listnode4, listnode11 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction46 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode7 = nodearraylist4 assert ppropdefnode7 isa PPropdef if ppropdefnode7 != null then listnode8.add(ppropdefnode7) end var pclassdefnode6 = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist6 assert pclassdefnode9 isa PClassdef if listnode5 != null then if listnode10.is_empty then listnode10 = listnode5 else listnode10.append(listnode5) end end if pclassdefnode6 != null then listnode10.add(pclassdefnode6) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode10 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction47 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode11 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 assert ppackagedeclnode2 isa PPackagedecl var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var listnode9 = new Array[Object] var ppropdefnode7 = nodearraylist4 assert ppropdefnode7 isa PPropdef var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] if ppropdefnode7 != null then listnode9.add(ppropdefnode7) end if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var pclassdefnode6 = new ATopClassdef.init_atopclassdef( listnode9 ) var pclassdefnode10 = nodearraylist7 assert pclassdefnode10 isa PClassdef if listnode5 != null then if listnode11.is_empty then listnode11 = listnode5 else listnode11.append(listnode5) end end if pclassdefnode6 != null then listnode11.add(pclassdefnode6) end if pclassdefnode10 != null then listnode11.add(pclassdefnode10) end var pmodulenode1 = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode11 ) node_list = pmodulenode1 p.push(p.go_to(0), node_list) end init do end end private class ReduceAction48 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwpackagenode3 = nodearraylist2 assert tkwpackagenode3 isa TKwpackage var tidnode4 = nodearraylist4 assert tidnode4 isa TId var ppackagedeclnode1 = new APackagedecl.init_apackagedecl( pdocnode2, tkwpackagenode3, tidnode4 ) node_list = ppackagedeclnode1 p.push(p.go_to(1), node_list) end init do end end private class ReduceAction49 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pvisibilitynode2 = nodearraylist2 assert pvisibilitynode2 isa PVisibility var tkwimportnode3 = nodearraylist3 assert tkwimportnode3 isa TKwimport var tidnode4 = nodearraylist5 assert tidnode4 isa TId var pimportnode1 = new AImport.init_aimport( pvisibilitynode2, tkwimportnode3, tidnode4 ) node_list = pimportnode1 p.push(p.go_to(2), node_list) end init do end end private class ReduceAction50 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pvisibilitynode2 = nodearraylist2 assert pvisibilitynode2 isa PVisibility var tkwimportnode3 = nodearraylist3 assert tkwimportnode3 isa TKwimport var tkwendnode4 = nodearraylist5 assert tkwendnode4 isa TKwend var pimportnode1 = new ANoImport.init_anoimport( pvisibilitynode2, tkwimportnode3, tkwendnode4 ) node_list = pimportnode1 p.push(p.go_to(2), node_list) end init do end end private class ReduceAction51 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var ppropdefnode2 = nodearraylist1 assert ppropdefnode2 isa PPropdef if ppropdefnode2 != null then listnode3.add(ppropdefnode2) end var pclassdefnode1 = new AMainClassdef.init_amainclassdef( listnode3 ) node_list = pclassdefnode1 p.push(p.go_to(3), node_list) end init do end end private class ReduceAction52 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop node_list = null p.push(p.go_to(3), node_list) end init do end end private class ReduceAction53 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode4 = nodearraylist2 assert pexprnode4 isa PExpr if pexprnode4 != null then listnode5.add(pexprnode4) end var pexprnode3 = new ABlockExpr.init_ablockexpr( listnode5 ) var ppropdefnode1 = new AMainMethPropdef.init_amainmethpropdef( null, pexprnode3 ) node_list = ppropdefnode1 p.push(p.go_to(4), node_list) end init do end end private class ReduceAction54 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var pexprnode4 = nodearraylist2 assert pexprnode4 isa PExpr var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] if pexprnode4 != null then listnode6.add(pexprnode4) end if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode3 = new ABlockExpr.init_ablockexpr( listnode6 ) var ppropdefnode1 = new AMainMethPropdef.init_amainmethpropdef( null, pexprnode3 ) node_list = ppropdefnode1 p.push(p.go_to(4), node_list) end init do end end private class ReduceAction55 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode8 = new Array[Object] var listnode9 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode8, listnode9 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction56 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode8 = new Array[Object] var listnode9 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode8, listnode9 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction57 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode9 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode9, listnode10 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction58 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode9 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode9, listnode10 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction59 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode9 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode9, listnode10 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction60 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode9 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode8 = nodearraylist7 assert listnode8 isa Array[Object] if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode9, listnode10 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction61 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode10 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var listnode9 = nodearraylist7 assert listnode9 isa Array[Object] if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode10, listnode11 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction62 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode10 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var listnode9 = nodearraylist8 assert listnode9 isa Array[Object] if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode10, listnode11 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction63 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode8 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var ppropdefnode9 = nodearraylist6 assert ppropdefnode9 isa PPropdef if ppropdefnode9 != null then listnode10.add(ppropdefnode9) end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode8, listnode10 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction64 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode8 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var ppropdefnode9 = nodearraylist6 assert ppropdefnode9 isa PPropdef var listnode10 = nodearraylist8 assert listnode10 isa Array[Object] if ppropdefnode9 != null then listnode11.add(ppropdefnode9) end if listnode10 != null then if listnode11.is_empty then listnode11 = listnode10 else listnode11.append(listnode10) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode8, listnode11 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction65 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode8 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var ppropdefnode9 = nodearraylist7 assert ppropdefnode9 isa PPropdef if ppropdefnode9 != null then listnode10.add(ppropdefnode9) end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode8, listnode10 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction66 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode8 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var ppropdefnode9 = nodearraylist7 assert ppropdefnode9 isa PPropdef var listnode10 = nodearraylist9 assert listnode10 isa Array[Object] if ppropdefnode9 != null then listnode11.add(ppropdefnode9) end if listnode10 != null then if listnode11.is_empty then listnode11 = listnode10 else listnode11.append(listnode10) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode8, listnode11 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction67 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode9 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var ppropdefnode10 = nodearraylist7 assert ppropdefnode10 isa PPropdef if ppropdefnode10 != null then listnode11.add(ppropdefnode10) end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode9, listnode11 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction68 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode9 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var ppropdefnode10 = nodearraylist7 assert ppropdefnode10 isa PPropdef var listnode11 = nodearraylist9 assert listnode11 isa Array[Object] if ppropdefnode10 != null then listnode12.add(ppropdefnode10) end if listnode11 != null then if listnode12.is_empty then listnode12 = listnode11 else listnode12.append(listnode11) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode9, listnode12 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction69 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode9 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var ppropdefnode10 = nodearraylist8 assert ppropdefnode10 isa PPropdef if ppropdefnode10 != null then listnode11.add(ppropdefnode10) end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode9, listnode11 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction70 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode9 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var ppropdefnode10 = nodearraylist8 assert ppropdefnode10 isa PPropdef var listnode11 = nodearraylist10 assert listnode11 isa Array[Object] if ppropdefnode10 != null then listnode12.add(ppropdefnode10) end if listnode11 != null then if listnode12.is_empty then listnode12 = listnode11 else listnode12.append(listnode11) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode9, listnode12 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction71 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode9 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var ppropdefnode10 = nodearraylist7 assert ppropdefnode10 isa PPropdef if ppropdefnode10 != null then listnode11.add(ppropdefnode10) end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode9, listnode11 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction72 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode9 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var ppropdefnode10 = nodearraylist7 assert ppropdefnode10 isa PPropdef var listnode11 = nodearraylist9 assert listnode11 isa Array[Object] if ppropdefnode10 != null then listnode12.add(ppropdefnode10) end if listnode11 != null then if listnode12.is_empty then listnode12 = listnode11 else listnode12.append(listnode11) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode9, listnode12 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction73 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode9 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode8 = nodearraylist7 assert listnode8 isa Array[Object] if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var ppropdefnode10 = nodearraylist8 assert ppropdefnode10 isa PPropdef if ppropdefnode10 != null then listnode11.add(ppropdefnode10) end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode9, listnode11 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction74 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode7 = new Array[Object] var listnode9 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode8 = nodearraylist7 assert listnode8 isa Array[Object] if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end end var ppropdefnode10 = nodearraylist8 assert ppropdefnode10 isa PPropdef var listnode11 = nodearraylist10 assert listnode11 isa Array[Object] if ppropdefnode10 != null then listnode12.add(ppropdefnode10) end if listnode11 != null then if listnode12.is_empty then listnode12 = listnode11 else listnode12.append(listnode11) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode7, listnode9, listnode12 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction75 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode10 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var listnode9 = nodearraylist7 assert listnode9 isa Array[Object] if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end end var ppropdefnode11 = nodearraylist8 assert ppropdefnode11 isa PPropdef if ppropdefnode11 != null then listnode12.add(ppropdefnode11) end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode10, listnode12 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction76 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode10 = new Array[Object] var listnode13 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist3 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var listnode9 = nodearraylist7 assert listnode9 isa Array[Object] if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end end var ppropdefnode11 = nodearraylist8 assert ppropdefnode11 isa PPropdef var listnode12 = nodearraylist10 assert listnode12 isa Array[Object] if ppropdefnode11 != null then listnode13.add(ppropdefnode11) end if listnode12 != null then if listnode13.is_empty then listnode13 = listnode12 else listnode13.append(listnode12) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode10, listnode13 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction77 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode10 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var listnode9 = nodearraylist8 assert listnode9 isa Array[Object] if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end end var ppropdefnode11 = nodearraylist9 assert ppropdefnode11 isa PPropdef if ppropdefnode11 != null then listnode12.add(ppropdefnode11) end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode10, listnode12 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction78 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist13 = p.pop var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode8 = new Array[Object] var listnode10 = new Array[Object] var listnode13 = new Array[Object] var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var pclasskindnode5 = nodearraylist4 assert pclasskindnode5 isa PClasskind var tclassidnode6 = nodearraylist6 assert tclassidnode6 isa TClassid var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end end var listnode9 = nodearraylist8 assert listnode9 isa Array[Object] if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end end var ppropdefnode11 = nodearraylist9 assert ppropdefnode11 isa PPropdef var listnode12 = nodearraylist11 assert listnode12 isa Array[Object] if ppropdefnode11 != null then listnode13.add(ppropdefnode11) end if listnode12 != null then if listnode13.is_empty then listnode13 = listnode12 else listnode13.append(listnode12) end end var pclassdefnode1 = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, pclasskindnode5, tclassidnode6, listnode8, listnode10, listnode13 ) node_list = pclassdefnode1 p.push(p.go_to(5), node_list) end init do end end private class ReduceAction79 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwclassnode2 = nodearraylist1 assert tkwclassnode2 isa TKwclass var pclasskindnode1 = new AConcreteClasskind.init_aconcreteclasskind( tkwclassnode2 ) node_list = pclasskindnode1 p.push(p.go_to(6), node_list) end init do end end private class ReduceAction80 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwabstractnode2 = nodearraylist1 assert tkwabstractnode2 isa TKwabstract var tkwclassnode3 = nodearraylist2 assert tkwclassnode3 isa TKwclass var pclasskindnode1 = new AAbstractClasskind.init_aabstractclasskind( tkwabstractnode2, tkwclassnode3 ) node_list = pclasskindnode1 p.push(p.go_to(6), node_list) end init do end end private class ReduceAction81 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwinterfacenode2 = nodearraylist1 assert tkwinterfacenode2 isa TKwinterface var pclasskindnode1 = new AInterfaceClasskind.init_ainterfaceclasskind( tkwinterfacenode2 ) node_list = pclasskindnode1 p.push(p.go_to(6), node_list) end init do end end private class ReduceAction82 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwuniversalnode2 = nodearraylist1 assert tkwuniversalnode2 isa TKwuniversal var pclasskindnode1 = new AUniversalClasskind.init_auniversalclasskind( tkwuniversalnode2 ) node_list = pclasskindnode1 p.push(p.go_to(6), node_list) end init do end end private class ReduceAction83 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pformaldefnode1 = nodearraylist3 assert pformaldefnode1 isa PFormaldef if pformaldefnode1 != null then listnode2.add(pformaldefnode1) end node_list = listnode2 p.push(p.go_to(7), node_list) end init do end end private class ReduceAction84 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pformaldefnode1 = nodearraylist3 assert pformaldefnode1 isa PFormaldef var listnode2 = nodearraylist4 assert listnode2 isa Array[Object] if pformaldefnode1 != null then listnode3.add(pformaldefnode1) end if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end node_list = listnode3 p.push(p.go_to(7), node_list) end init do end end private class ReduceAction85 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pformaldefnode1 = nodearraylist3 assert pformaldefnode1 isa PFormaldef node_list = pformaldefnode1 p.push(p.go_to(8), node_list) end init do end end private class ReduceAction86 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tclassidnode2 = nodearraylist1 assert tclassidnode2 isa TClassid var pformaldefnode1 = new AFormaldef.init_aformaldef( tclassidnode2, null ) node_list = pformaldefnode1 p.push(p.go_to(9), node_list) end init do end end private class ReduceAction87 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tclassidnode2 = nodearraylist1 assert tclassidnode2 isa TClassid var ptypenode3 = nodearraylist2 assert ptypenode3 isa PType var pformaldefnode1 = new AFormaldef.init_aformaldef( tclassidnode2, ptypenode3 ) node_list = pformaldefnode1 p.push(p.go_to(9), node_list) end init do end end private class ReduceAction88 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwspecialnode2 = nodearraylist2 assert tkwspecialnode2 isa TKwspecial var ptypenode3 = nodearraylist4 assert ptypenode3 isa PType var psuperclassnode1 = new ASuperclass.init_asuperclass( tkwspecialnode2, ptypenode3 ) node_list = psuperclassnode1 p.push(p.go_to(10), node_list) end init do end end private class ReduceAction89 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var ppropdefnode1 = nodearraylist1 assert ppropdefnode1 isa PPropdef node_list = ppropdefnode1 p.push(p.go_to(11), node_list) end init do end end private class ReduceAction90 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist5 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist6 assert tattridnode12 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction91 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction92 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist4 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist5 assert tattridnode10 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, null, pvisibilitynode8, tkwattrnode9, tattridnode10, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction93 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction94 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist5 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction95 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, null, pvisibilitynode8, tkwattrnode9, tattridnode10, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction96 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwwritablenode6 = nodearraylist2 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist4 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist5 assert tattridnode10 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, null, pvisibilitynode8, tkwattrnode9, tattridnode10, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction97 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var tkwwritablenode6 = nodearraylist3 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, null, pvisibilitynode8, tkwattrnode9, tattridnode10, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction98 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode6 = nodearraylist2 assert pvisibilitynode6 isa PVisibility var tkwattrnode7 = nodearraylist3 assert tkwattrnode7 isa TKwattr var tattridnode8 = nodearraylist4 assert tattridnode8 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, null, pvisibilitynode6, tkwattrnode7, tattridnode8, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction99 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction100 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction101 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction102 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction103 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist5 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist7 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist8 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist9 assert tattridnode12 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction104 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist5 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist6 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist7 assert tattridnode10 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction105 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwwritablenode6 = nodearraylist2 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction106 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var tkwwritablenode6 = nodearraylist3 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist5 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist6 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist7 assert tattridnode10 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction107 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var pvisibilitynode6 = nodearraylist3 assert pvisibilitynode6 isa PVisibility var tkwattrnode7 = nodearraylist4 assert tkwattrnode7 isa TKwattr var tattridnode8 = nodearraylist5 assert tattridnode8 isa TAttrid var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, tkwredefnode5, pvisibilitynode6, tkwattrnode7, tattridnode8, null, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction108 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist5 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist6 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist7 assert ptypenode13 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction109 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist8 assert ptypenode13 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction110 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist4 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist5 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist6 assert ptypenode11 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, null, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction111 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist8 assert ptypenode13 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction112 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist5 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist9 assert ptypenode13 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction113 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist7 assert ptypenode11 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, null, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction114 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwwritablenode6 = nodearraylist2 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist4 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist5 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist6 assert ptypenode11 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, null, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction115 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var tkwwritablenode6 = nodearraylist3 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist7 assert ptypenode11 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, null, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction116 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode6 = nodearraylist2 assert pvisibilitynode6 isa PVisibility var tkwattrnode7 = nodearraylist3 assert tkwattrnode7 isa TKwattr var tattridnode8 = nodearraylist4 assert tattridnode8 isa TAttrid var ptypenode9 = nodearraylist5 assert ptypenode9 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, null, pvisibilitynode6, tkwattrnode7, tattridnode8, ptypenode9, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction117 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist8 assert ptypenode13 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction118 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist9 assert ptypenode13 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction119 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist7 assert ptypenode11 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction120 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist9 assert ptypenode13 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction121 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist5 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist7 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist8 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist9 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist10 assert ptypenode13 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction122 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist5 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist6 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist7 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist8 assert ptypenode11 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction123 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwwritablenode6 = nodearraylist2 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist7 assert ptypenode11 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction124 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var tkwwritablenode6 = nodearraylist3 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist5 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist6 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist7 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist8 assert ptypenode11 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction125 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var pvisibilitynode6 = nodearraylist3 assert pvisibilitynode6 isa PVisibility var tkwattrnode7 = nodearraylist4 assert tkwattrnode7 isa TKwattr var tattridnode8 = nodearraylist5 assert tattridnode8 isa TAttrid var ptypenode9 = nodearraylist6 assert ptypenode9 isa PType var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, tkwredefnode5, pvisibilitynode6, tkwattrnode7, tattridnode8, ptypenode9, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction126 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist5 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist6 assert tattridnode12 isa TAttrid var pexprnode14 = nodearraylist9 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, null, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction127 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var pexprnode14 = nodearraylist10 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, null, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction128 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist4 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist5 assert tattridnode10 isa TAttrid var pexprnode12 = nodearraylist8 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, null, pvisibilitynode8, tkwattrnode9, tattridnode10, null, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction129 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var pexprnode14 = nodearraylist10 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, null, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction130 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist5 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var pexprnode14 = nodearraylist11 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, null, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction131 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var pexprnode12 = nodearraylist9 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, null, pvisibilitynode8, tkwattrnode9, tattridnode10, null, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction132 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwwritablenode6 = nodearraylist2 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist4 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist5 assert tattridnode10 isa TAttrid var pexprnode12 = nodearraylist8 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, null, pvisibilitynode8, tkwattrnode9, tattridnode10, null, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction133 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var tkwwritablenode6 = nodearraylist3 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var pexprnode12 = nodearraylist9 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, null, pvisibilitynode8, tkwattrnode9, tattridnode10, null, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction134 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode6 = nodearraylist2 assert pvisibilitynode6 isa PVisibility var tkwattrnode7 = nodearraylist3 assert tkwattrnode7 isa TKwattr var tattridnode8 = nodearraylist4 assert tattridnode8 isa TAttrid var pexprnode10 = nodearraylist7 assert pexprnode10 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, null, pvisibilitynode6, tkwattrnode7, tattridnode8, null, pexprnode10 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction135 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var pexprnode14 = nodearraylist10 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, null, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction136 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var pexprnode14 = nodearraylist11 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, null, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction137 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var pexprnode12 = nodearraylist9 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, null, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction138 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var pexprnode14 = nodearraylist11 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, null, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction139 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist5 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist7 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist8 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist9 assert tattridnode12 isa TAttrid var pexprnode14 = nodearraylist12 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, null, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction140 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist5 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist6 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist7 assert tattridnode10 isa TAttrid var pexprnode12 = nodearraylist10 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, null, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction141 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwwritablenode6 = nodearraylist2 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var pexprnode12 = nodearraylist9 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, null, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction142 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var tkwwritablenode6 = nodearraylist3 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist5 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist6 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist7 assert tattridnode10 isa TAttrid var pexprnode12 = nodearraylist10 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, null, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction143 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var pvisibilitynode6 = nodearraylist3 assert pvisibilitynode6 isa PVisibility var tkwattrnode7 = nodearraylist4 assert tkwattrnode7 isa TKwattr var tattridnode8 = nodearraylist5 assert tattridnode8 isa TAttrid var pexprnode10 = nodearraylist8 assert pexprnode10 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, tkwredefnode5, pvisibilitynode6, tkwattrnode7, tattridnode8, null, pexprnode10 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction144 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist5 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist6 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist7 assert ptypenode13 isa PType var pexprnode14 = nodearraylist10 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction145 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist8 assert ptypenode13 isa PType var pexprnode14 = nodearraylist11 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction146 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist4 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist5 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist6 assert ptypenode11 isa PType var pexprnode12 = nodearraylist9 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, null, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction147 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist8 assert ptypenode13 isa PType var pexprnode14 = nodearraylist11 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction148 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist5 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist9 assert ptypenode13 isa PType var pexprnode14 = nodearraylist12 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, null, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction149 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist7 assert ptypenode11 isa PType var pexprnode12 = nodearraylist10 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, null, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction150 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwwritablenode6 = nodearraylist2 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist4 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist5 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist6 assert ptypenode11 isa PType var pexprnode12 = nodearraylist9 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, null, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction151 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var tkwwritablenode6 = nodearraylist3 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist7 assert ptypenode11 isa PType var pexprnode12 = nodearraylist10 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, null, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction152 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode6 = nodearraylist2 assert pvisibilitynode6 isa PVisibility var tkwattrnode7 = nodearraylist3 assert tkwattrnode7 isa TKwattr var tattridnode8 = nodearraylist4 assert tattridnode8 isa TAttrid var ptypenode9 = nodearraylist5 assert ptypenode9 isa PType var pexprnode10 = nodearraylist8 assert pexprnode10 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, null, pvisibilitynode6, tkwattrnode7, tattridnode8, ptypenode9, pexprnode10 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction153 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist5 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist6 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist7 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist8 assert ptypenode13 isa PType var pexprnode14 = nodearraylist11 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction154 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist9 assert ptypenode13 isa PType var pexprnode14 = nodearraylist12 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction155 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwreadablenode5 = nodearraylist2 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist7 assert ptypenode11 isa PType var pexprnode12 = nodearraylist10 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction156 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist6 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist7 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist8 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist9 assert ptypenode13 isa PType var pexprnode14 = nodearraylist12 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction157 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist13 = p.pop var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var tkwwritablenode8 = nodearraylist5 assert tkwwritablenode8 isa TKwwritable var pablenode6 = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 assert tkwredefnode9 isa TKwredef var pvisibilitynode10 = nodearraylist7 assert pvisibilitynode10 isa PVisibility var tkwattrnode11 = nodearraylist8 assert tkwattrnode11 isa TKwattr var tattridnode12 = nodearraylist9 assert tattridnode12 isa TAttrid var ptypenode13 = nodearraylist10 assert ptypenode13 isa PType var pexprnode14 = nodearraylist13 assert pexprnode14 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, tkwredefnode9, pvisibilitynode10, tkwattrnode11, tattridnode12, ptypenode13, pexprnode14 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction158 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode4 = nodearraylist2 assert tkwredefnode4 isa TKwredef var tkwreadablenode5 = nodearraylist3 assert tkwreadablenode5 isa TKwreadable var pablenode3 = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist5 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist6 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist7 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist8 assert ptypenode11 isa PType var pexprnode12 = nodearraylist11 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction159 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwwritablenode6 = nodearraylist2 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist4 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist5 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist6 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist7 assert ptypenode11 isa PType var pexprnode12 = nodearraylist10 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction160 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var tkwwritablenode6 = nodearraylist3 assert tkwwritablenode6 isa TKwwritable var pablenode4 = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 assert tkwredefnode7 isa TKwredef var pvisibilitynode8 = nodearraylist5 assert pvisibilitynode8 isa PVisibility var tkwattrnode9 = nodearraylist6 assert tkwattrnode9 isa TKwattr var tattridnode10 = nodearraylist7 assert tattridnode10 isa TAttrid var ptypenode11 = nodearraylist8 assert ptypenode11 isa PType var pexprnode12 = nodearraylist11 assert pexprnode12 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, tkwredefnode7, pvisibilitynode8, tkwattrnode9, tattridnode10, ptypenode11, pexprnode12 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction161 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode5 = nodearraylist2 assert tkwredefnode5 isa TKwredef var pvisibilitynode6 = nodearraylist3 assert pvisibilitynode6 isa PVisibility var tkwattrnode7 = nodearraylist4 assert tkwattrnode7 isa TKwattr var tattridnode8 = nodearraylist5 assert tattridnode8 isa TAttrid var ptypenode9 = nodearraylist6 assert ptypenode9 isa PType var pexprnode10 = nodearraylist9 assert pexprnode10 isa PExpr var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, tkwredefnode5, pvisibilitynode6, tkwattrnode7, tattridnode8, ptypenode9, pexprnode10 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction162 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var ppropdefnode1 = new ADeferredMethPropdef.init_adeferredmethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction163 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var ppropdefnode1 = new ADeferredMethPropdef.init_adeferredmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction164 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var ppropdefnode1 = new AInternMethPropdef.init_ainternmethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction165 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var ppropdefnode1 = new AInternMethPropdef.init_ainternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction166 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction167 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, null ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction168 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var tstringnode8 = nodearraylist8 assert tstringnode8 isa TString var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, tstringnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction169 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var tstringnode8 = nodearraylist9 assert tstringnode8 isa TString var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, tstringnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction170 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist8 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction171 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist9 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction172 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist8 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction173 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist9 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction174 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwinitnode5 = nodearraylist3 assert tkwinitnode5 isa TKwinit var psignaturenode7 = nodearraylist4 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist7 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, null, pvisibilitynode4, tkwinitnode5, null, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction175 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwinitnode5 = nodearraylist4 assert tkwinitnode5 isa TKwinit var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist8 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwinitnode5, null, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction176 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwinitnode5 = nodearraylist3 assert tkwinitnode5 isa TKwinit var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist8 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, null, pvisibilitynode4, tkwinitnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction177 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwinitnode5 = nodearraylist4 assert tkwinitnode5 isa TKwinit var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist9 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwinitnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction178 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwinitnode5 = nodearraylist3 assert tkwinitnode5 isa TKwinit var psignaturenode7 = nodearraylist4 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist7 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, null, pvisibilitynode4, tkwinitnode5, null, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction179 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwinitnode5 = nodearraylist4 assert tkwinitnode5 isa TKwinit var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist8 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwinitnode5, null, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction180 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwinitnode5 = nodearraylist3 assert tkwinitnode5 isa TKwinit var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist8 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, null, pvisibilitynode4, tkwinitnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction181 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwinitnode5 = nodearraylist4 assert tkwinitnode5 isa TKwinit var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist9 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwinitnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction182 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwtypenode5 = nodearraylist3 assert tkwtypenode5 isa TKwtype var tclassidnode6 = nodearraylist4 assert tclassidnode6 isa TClassid var ptypenode7 = nodearraylist5 assert ptypenode7 isa PType var ppropdefnode1 = new ATypePropdef.init_atypepropdef( pdocnode2, null, pvisibilitynode4, tkwtypenode5, tclassidnode6, ptypenode7 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction183 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwtypenode5 = nodearraylist4 assert tkwtypenode5 isa TKwtype var tclassidnode6 = nodearraylist5 assert tclassidnode6 isa TClassid var ptypenode7 = nodearraylist6 assert ptypenode7 isa PType var ppropdefnode1 = new ATypePropdef.init_atypepropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwtypenode5, tclassidnode6, ptypenode7 ) node_list = ppropdefnode1 p.push(p.go_to(12), node_list) end init do end end private class ReduceAction184 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var ppropdefnode1 = nodearraylist1 assert ppropdefnode1 isa PPropdef node_list = ppropdefnode1 p.push(p.go_to(13), node_list) end init do end end private class ReduceAction185 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, null ) node_list = ppropdefnode1 p.push(p.go_to(14), node_list) end init do end end private class ReduceAction186 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, null ) node_list = ppropdefnode1 p.push(p.go_to(14), node_list) end init do end end private class ReduceAction187 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var tstringnode8 = nodearraylist8 assert tstringnode8 isa TString var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, tstringnode8 ) node_list = ppropdefnode1 p.push(p.go_to(14), node_list) end init do end end private class ReduceAction188 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var tstringnode8 = nodearraylist9 assert tstringnode8 isa TString var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, tstringnode8 ) node_list = ppropdefnode1 p.push(p.go_to(14), node_list) end init do end end private class ReduceAction189 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var pvisibilitynode4 = nodearraylist2 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist3 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist4 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist5 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist8 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, null, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(14), node_list) end init do end end private class ReduceAction190 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 assert pdocnode2 isa PDoc var tkwredefnode3 = nodearraylist2 assert tkwredefnode3 isa TKwredef var pvisibilitynode4 = nodearraylist3 assert pvisibilitynode4 isa PVisibility var tkwmethnode5 = nodearraylist4 assert tkwmethnode5 isa TKwmeth var pmethidnode6 = nodearraylist5 assert pmethidnode6 isa PMethid var psignaturenode7 = nodearraylist6 assert psignaturenode7 isa PSignature var pexprnode8 = nodearraylist9 assert pexprnode8 isa PExpr var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, tkwmethnode5, pmethidnode6, psignaturenode7, pexprnode8 ) node_list = ppropdefnode1 p.push(p.go_to(14), node_list) end init do end end private class ReduceAction191 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var pvisibilitynode1 = new APublicVisibility.init_apublicvisibility( ) node_list = pvisibilitynode1 p.push(p.go_to(15), node_list) end init do end end private class ReduceAction192 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwprivatenode2 = nodearraylist1 assert tkwprivatenode2 isa TKwprivate var pvisibilitynode1 = new APrivateVisibility.init_aprivatevisibility( tkwprivatenode2 ) node_list = pvisibilitynode1 p.push(p.go_to(15), node_list) end init do end end private class ReduceAction193 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwprotectednode2 = nodearraylist1 assert tkwprotectednode2 isa TKwprotected var pvisibilitynode1 = new AProtectedVisibility.init_aprotectedvisibility( tkwprotectednode2 ) node_list = pvisibilitynode1 p.push(p.go_to(15), node_list) end init do end end private class ReduceAction194 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwintrudenode2 = nodearraylist1 assert tkwintrudenode2 isa TKwintrude var pvisibilitynode1 = new AIntrudeVisibility.init_aintrudevisibility( tkwintrudenode2 ) node_list = pvisibilitynode1 p.push(p.go_to(15), node_list) end init do end end private class ReduceAction195 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 assert tidnode2 isa TId var pmethidnode1 = new AIdMethid.init_aidmethid( tidnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction196 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tplusnode2 = nodearraylist1 assert tplusnode2 isa TPlus var pmethidnode1 = new APlusMethid.init_aplusmethid( tplusnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction197 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 assert tminusnode2 isa TMinus var pmethidnode1 = new AMinusMethid.init_aminusmethid( tminusnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction198 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tstarnode2 = nodearraylist1 assert tstarnode2 isa TStar var pmethidnode1 = new AStarMethid.init_astarmethid( tstarnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction199 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tslashnode2 = nodearraylist1 assert tslashnode2 isa TSlash var pmethidnode1 = new ASlashMethid.init_aslashmethid( tslashnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction200 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tpercentnode2 = nodearraylist1 assert tpercentnode2 isa TPercent var pmethidnode1 = new APercentMethid.init_apercentmethid( tpercentnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction201 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var teqnode2 = nodearraylist1 assert teqnode2 isa TEq var pmethidnode1 = new AEqMethid.init_aeqmethid( teqnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction202 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tnenode2 = nodearraylist1 assert tnenode2 isa TNe var pmethidnode1 = new ANeMethid.init_anemethid( tnenode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction203 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tlenode2 = nodearraylist1 assert tlenode2 isa TLe var pmethidnode1 = new ALeMethid.init_alemethid( tlenode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction204 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tgenode2 = nodearraylist1 assert tgenode2 isa TGe var pmethidnode1 = new AGeMethid.init_agemethid( tgenode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction205 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tltnode2 = nodearraylist1 assert tltnode2 isa TLt var pmethidnode1 = new ALtMethid.init_altmethid( tltnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction206 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tgtnode2 = nodearraylist1 assert tgtnode2 isa TGt var pmethidnode1 = new AGtMethid.init_agtmethid( tgtnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction207 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tobranode2 = nodearraylist1 assert tobranode2 isa TObra var tcbranode3 = nodearraylist2 assert tcbranode3 isa TCbra var pmethidnode1 = new ABraMethid.init_abramethid( tobranode2, tcbranode3 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction208 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tstarshipnode2 = nodearraylist1 assert tstarshipnode2 isa TStarship var pmethidnode1 = new AStarshipMethid.init_astarshipmethid( tstarshipnode2 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction209 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 assert tidnode2 isa TId var tassignnode3 = nodearraylist2 assert tassignnode3 isa TAssign var pmethidnode1 = new AAssignMethid.init_aassignmethid( tidnode2, tassignnode3 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction210 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tobranode2 = nodearraylist1 assert tobranode2 isa TObra var tcbranode3 = nodearraylist2 assert tcbranode3 isa TCbra var tassignnode4 = nodearraylist3 assert tassignnode4 isa TAssign var pmethidnode1 = new ABraassignMethid.init_abraassignmethid( tobranode2, tcbranode3, tassignnode4 ) node_list = pmethidnode1 p.push(p.go_to(16), node_list) end init do end end private class ReduceAction211 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var listnode2 = new Array[Object] var psignaturenode1 = new ASignature.init_asignature( listnode2, null ) node_list = psignaturenode1 p.push(p.go_to(17), node_list) end init do end end private class ReduceAction212 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end var psignaturenode1 = new ASignature.init_asignature( listnode3, null ) node_list = psignaturenode1 p.push(p.go_to(17), node_list) end init do end end private class ReduceAction213 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ptypenode3 = nodearraylist1 assert ptypenode3 isa PType var psignaturenode1 = new ASignature.init_asignature( listnode2, ptypenode3 ) node_list = psignaturenode1 p.push(p.go_to(17), node_list) end init do end end private class ReduceAction214 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end var ptypenode4 = nodearraylist2 assert ptypenode4 isa PType var psignaturenode1 = new ASignature.init_asignature( listnode3, ptypenode4 ) node_list = psignaturenode1 p.push(p.go_to(17), node_list) end init do end end private class ReduceAction215 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pparamnode1 = nodearraylist3 assert pparamnode1 isa PParam if pparamnode1 != null then listnode2.add(pparamnode1) end node_list = listnode2 p.push(p.go_to(18), node_list) end init do end end private class ReduceAction216 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pparamnode1 = nodearraylist3 assert pparamnode1 isa PParam var listnode2 = nodearraylist4 assert listnode2 isa Array[Object] if pparamnode1 != null then listnode3.add(pparamnode1) end if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end node_list = listnode3 p.push(p.go_to(18), node_list) end init do end end private class ReduceAction217 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode1 = new Array[Object] node_list = listnode1 p.push(p.go_to(18), node_list) end init do end end private class ReduceAction218 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pparamnode1 = nodearraylist3 assert pparamnode1 isa PParam node_list = pparamnode1 p.push(p.go_to(19), node_list) end init do end end private class ReduceAction219 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 assert tidnode2 isa TId var pparamnode1 = new AParam.init_aparam( tidnode2, null, null ) node_list = pparamnode1 p.push(p.go_to(20), node_list) end init do end end private class ReduceAction220 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 assert tidnode2 isa TId var ptypenode3 = nodearraylist2 assert ptypenode3 isa PType var pparamnode1 = new AParam.init_aparam( tidnode2, ptypenode3, null ) node_list = pparamnode1 p.push(p.go_to(20), node_list) end init do end end private class ReduceAction221 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 assert tidnode2 isa TId var ptypenode3 = nodearraylist2 assert ptypenode3 isa PType var tdotdotdotnode4 = nodearraylist3 assert tdotdotdotnode4 isa TDotdotdot var pparamnode1 = new AParam.init_aparam( tidnode2, ptypenode3, tdotdotdotnode4 ) node_list = pparamnode1 p.push(p.go_to(20), node_list) end init do end end private class ReduceAction222 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tclassidnode2 = nodearraylist1 assert tclassidnode2 isa TClassid var ptypenode1 = new AType.init_atype( tclassidnode2, listnode3 ) node_list = ptypenode1 p.push(p.go_to(21), node_list) end init do end end private class ReduceAction223 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tclassidnode2 = nodearraylist1 assert tclassidnode2 isa TClassid var listnode3 = nodearraylist4 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var ptypenode1 = new AType.init_atype( tclassidnode2, listnode4 ) node_list = ptypenode1 p.push(p.go_to(21), node_list) end init do end end private class ReduceAction224 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ptypenode1 = nodearraylist1 assert ptypenode1 isa PType if ptypenode1 != null then listnode2.add(ptypenode1) end node_list = listnode2 p.push(p.go_to(22), node_list) end init do end end private class ReduceAction225 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var ptypenode1 = nodearraylist1 assert ptypenode1 isa PType var listnode2 = nodearraylist2 assert listnode2 isa Array[Object] if ptypenode1 != null then listnode3.add(ptypenode1) end if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end node_list = listnode3 p.push(p.go_to(22), node_list) end init do end end private class ReduceAction226 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var ptypenode1 = nodearraylist3 assert ptypenode1 isa PType node_list = ptypenode1 p.push(p.go_to(23), node_list) end init do end end private class ReduceAction227 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var ptypenode1 = nodearraylist3 assert ptypenode1 isa PType node_list = ptypenode1 p.push(p.go_to(24), node_list) end init do end end private class ReduceAction228 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(25), node_list) end init do end end private class ReduceAction229 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode2 = nodearraylist2 assert pexprnode2 isa PExpr if pexprnode2 != null then listnode3.add(pexprnode2) end var pexprnode1 = new ABlockExpr.init_ablockexpr( listnode3 ) node_list = pexprnode1 p.push(p.go_to(25), node_list) end init do end end private class ReduceAction230 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist2 assert pexprnode2 isa PExpr var listnode3 = nodearraylist3 assert listnode3 isa Array[Object] if pexprnode2 != null then listnode4.add(pexprnode2) end if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var pexprnode1 = new ABlockExpr.init_ablockexpr( listnode4 ) node_list = pexprnode1 p.push(p.go_to(25), node_list) end init do end end private class ReduceAction231 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop node_list = null p.push(p.go_to(25), node_list) end init do end end private class ReduceAction232 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop node_list = null p.push(p.go_to(25), node_list) end init do end end private class ReduceAction233 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist2 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(26), node_list) end init do end end private class ReduceAction234 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction235 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction236 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwreturnnode2 = nodearraylist1 assert tkwreturnnode2 isa TKwreturn var pexprnode1 = new AReturnExpr.init_areturnexpr( tkwreturnnode2, null ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction237 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwreturnnode2 = nodearraylist1 assert tkwreturnnode2 isa TKwreturn var pexprnode3 = nodearraylist2 assert pexprnode3 isa PExpr var pexprnode1 = new AReturnExpr.init_areturnexpr( tkwreturnnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction238 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwbreaknode2 = nodearraylist1 assert tkwbreaknode2 isa TKwbreak var pexprnode1 = new ABreakExpr.init_abreakexpr( tkwbreaknode2 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction239 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwabortnode2 = nodearraylist1 assert tkwabortnode2 isa TKwabort var pexprnode1 = new AAbortExpr.init_aabortexpr( tkwabortnode2 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction240 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwcontinuenode2 = nodearraylist1 assert tkwcontinuenode2 isa TKwcontinue var pexprnode1 = new AContinueExpr.init_acontinueexpr( tkwcontinuenode2 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction241 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction242 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction243 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction244 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction245 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction246 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tidnode3 = nodearraylist4 assert tidnode3 isa TId var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction247 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 assert tidnode3 isa TId var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction248 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction249 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 assert pqualifiednode2 isa PQualified var tkwsupernode3 = nodearraylist2 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction250 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tkwinitnode3 = nodearraylist4 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction251 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(27), node_list) end init do end end private class ReduceAction252 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 assert tkwvarnode2 isa TKwvar var tidnode3 = nodearraylist2 assert tidnode3 isa TId var pexprnode1 = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, null, null, null ) node_list = pexprnode1 p.push(p.go_to(28), node_list) end init do end end private class ReduceAction253 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 assert tkwvarnode2 isa TKwvar var tidnode3 = nodearraylist2 assert tidnode3 isa TId var ptypenode4 = nodearraylist3 assert ptypenode4 isa PType var pexprnode1 = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, ptypenode4, null, null ) node_list = pexprnode1 p.push(p.go_to(28), node_list) end init do end end private class ReduceAction254 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 assert tkwvarnode2 isa TKwvar var tidnode3 = nodearraylist2 assert tidnode3 isa TId var tassignnode5 = nodearraylist3 assert tassignnode5 isa TAssign var pexprnode6 = nodearraylist5 assert pexprnode6 isa PExpr var pexprnode1 = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, null, tassignnode5, pexprnode6 ) node_list = pexprnode1 p.push(p.go_to(28), node_list) end init do end end private class ReduceAction255 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 assert tkwvarnode2 isa TKwvar var tidnode3 = nodearraylist2 assert tidnode3 isa TId var ptypenode4 = nodearraylist3 assert ptypenode4 isa PType var tassignnode5 = nodearraylist4 assert tassignnode5 isa TAssign var pexprnode6 = nodearraylist6 assert pexprnode6 isa PExpr var pexprnode1 = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, ptypenode4, tassignnode5, pexprnode6 ) node_list = pexprnode1 p.push(p.go_to(28), node_list) end init do end end private class ReduceAction256 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tattridnode3 = nodearraylist4 assert tattridnode3 isa TAttrid var tassignnode4 = nodearraylist5 assert tassignnode4 isa TAssign var pexprnode5 = nodearraylist6 assert pexprnode5 isa PExpr var pexprnode1 = new AAttrAssignExpr.init_aattrassignexpr( pexprnode2, tattridnode3, tassignnode4, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction257 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 assert tattridnode3 isa TAttrid var tassignnode4 = nodearraylist2 assert tassignnode4 isa TAssign var pexprnode5 = nodearraylist3 assert pexprnode5 isa PExpr var pexprnode1 = new AAttrAssignExpr.init_aattrassignexpr( pexprnode2, tattridnode3, tassignnode4, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction258 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tidnode3 = nodearraylist4 assert tidnode3 isa TId var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var tassignnode6 = nodearraylist6 assert tassignnode6 isa TAssign var pexprnode7 = nodearraylist7 assert pexprnode7 isa PExpr var pexprnode1 = new ACallAssignExpr.init_acallassignexpr( pexprnode2, tidnode3, listnode5, tassignnode6, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction259 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 assert tidnode3 isa TId var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var tassignnode6 = nodearraylist3 assert tassignnode6 isa TAssign var pexprnode7 = nodearraylist4 assert pexprnode7 isa PExpr var pexprnode1 = new ACallAssignExpr.init_acallassignexpr( pexprnode2, tidnode3, listnode5, tassignnode6, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction260 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var tassignnode5 = nodearraylist3 assert tassignnode5 isa TAssign var pexprnode6 = nodearraylist4 assert pexprnode6 isa PExpr var pexprnode1 = new ABraAssignExpr.init_abraassignexpr( pexprnode2, listnode4, tassignnode5, pexprnode6 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction261 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tattridnode3 = nodearraylist4 assert tattridnode3 isa TAttrid var passignopnode4 = nodearraylist5 assert passignopnode4 isa PAssignOp var pexprnode5 = nodearraylist6 assert pexprnode5 isa PExpr var pexprnode1 = new AAttrReassignExpr.init_aattrreassignexpr( pexprnode2, tattridnode3, passignopnode4, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction262 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 assert tattridnode3 isa TAttrid var passignopnode4 = nodearraylist2 assert passignopnode4 isa PAssignOp var pexprnode5 = nodearraylist3 assert pexprnode5 isa PExpr var pexprnode1 = new AAttrReassignExpr.init_aattrreassignexpr( pexprnode2, tattridnode3, passignopnode4, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction263 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tidnode3 = nodearraylist4 assert tidnode3 isa TId var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var passignopnode6 = nodearraylist6 assert passignopnode6 isa PAssignOp var pexprnode7 = nodearraylist7 assert pexprnode7 isa PExpr var pexprnode1 = new ACallReassignExpr.init_acallreassignexpr( pexprnode2, tidnode3, listnode5, passignopnode6, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction264 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 assert tidnode3 isa TId var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var passignopnode6 = nodearraylist3 assert passignopnode6 isa PAssignOp var pexprnode7 = nodearraylist4 assert pexprnode7 isa PExpr var pexprnode1 = new ACallReassignExpr.init_acallreassignexpr( pexprnode2, tidnode3, listnode5, passignopnode6, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction265 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var passignopnode5 = nodearraylist3 assert passignopnode5 isa PAssignOp var pexprnode6 = nodearraylist4 assert pexprnode6 isa PExpr var pexprnode1 = new ABraReassignExpr.init_abrareassignexpr( pexprnode2, listnode4, passignopnode5, pexprnode6 ) node_list = pexprnode1 p.push(p.go_to(29), node_list) end init do end end private class ReduceAction266 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tpluseqnode2 = nodearraylist1 assert tpluseqnode2 isa TPluseq var passignopnode1 = new APlusAssignOp.init_aplusassignop( tpluseqnode2 ) node_list = passignopnode1 p.push(p.go_to(30), node_list) end init do end end private class ReduceAction267 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tminuseqnode2 = nodearraylist1 assert tminuseqnode2 isa TMinuseq var passignopnode1 = new AMinusAssignOp.init_aminusassignop( tminuseqnode2 ) node_list = passignopnode1 p.push(p.go_to(30), node_list) end init do end end private class ReduceAction268 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwdonode2 = nodearraylist1 assert tkwdonode2 isa TKwdo var pexprnode3 = nodearraylist2 assert pexprnode3 isa PExpr var pexprnode1 = new ADoExpr.init_adoexpr( tkwdonode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(31), node_list) end init do end end private class ReduceAction269 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode4 = nodearraylist6 assert pexprnode4 isa PExpr var pexprnode5 = nodearraylist8 assert pexprnode5 isa PExpr var pexprnode1 = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(32), node_list) end init do end end private class ReduceAction270 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode4 = nodearraylist6 assert pexprnode4 isa PExpr var pexprnode1 = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, null ) node_list = pexprnode1 p.push(p.go_to(32), node_list) end init do end end private class ReduceAction271 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var listnode6 = new Array[Object] var pexprnode5 = nodearraylist7 assert pexprnode5 isa PExpr if pexprnode5 != null then listnode6.add(pexprnode5) end var pexprnode4 = new ABlockExpr.init_ablockexpr( listnode6 ) var pexprnode7 = nodearraylist9 assert pexprnode7 isa PExpr var pexprnode1 = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(32), node_list) end init do end end private class ReduceAction272 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var listnode7 = new Array[Object] var pexprnode5 = nodearraylist7 assert pexprnode5 isa PExpr var listnode6 = nodearraylist8 assert listnode6 isa Array[Object] if pexprnode5 != null then listnode7.add(pexprnode5) end if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end end var pexprnode4 = new ABlockExpr.init_ablockexpr( listnode7 ) var pexprnode8 = nodearraylist10 assert pexprnode8 isa PExpr var pexprnode1 = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, pexprnode8 ) node_list = pexprnode1 p.push(p.go_to(32), node_list) end init do end end private class ReduceAction273 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode5 = nodearraylist6 assert pexprnode5 isa PExpr var pexprnode1 = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, null, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(32), node_list) end init do end end private class ReduceAction274 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode5 = nodearraylist7 assert pexprnode5 isa PExpr var pexprnode1 = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, null, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(32), node_list) end init do end end private class ReduceAction275 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist2 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(33), node_list) end init do end end private class ReduceAction276 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop node_list = null p.push(p.go_to(33), node_list) end init do end end private class ReduceAction277 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwwhilenode2 = nodearraylist1 assert tkwwhilenode2 isa TKwwhile var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var tkwdonode4 = nodearraylist5 assert tkwdonode4 isa TKwdo var pexprnode5 = nodearraylist6 assert pexprnode5 isa PExpr var pexprnode1 = new AWhileExpr.init_awhileexpr( tkwwhilenode2, pexprnode3, tkwdonode4, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(34), node_list) end init do end end private class ReduceAction278 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tkwdonode3 = nodearraylist3 assert tkwdonode3 isa TKwdo var pexprnode4 = nodearraylist4 assert pexprnode4 isa PExpr var pexprnode1 = new AForExpr.init_aforexpr( pexprnode2, tkwdonode3, pexprnode4 ) node_list = pexprnode1 p.push(p.go_to(35), node_list) end init do end end private class ReduceAction279 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwfornode2 = nodearraylist1 assert tkwfornode2 isa TKwfor var tidnode3 = nodearraylist3 assert tidnode3 isa TId var pexprnode4 = nodearraylist7 assert pexprnode4 isa PExpr var pexprnode1 = new AForVardeclExpr.init_aforvardeclexpr( tkwfornode2, tidnode3, pexprnode4 ) node_list = pexprnode1 p.push(p.go_to(36), node_list) end init do end end private class ReduceAction280 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwassertnode2 = nodearraylist1 assert tkwassertnode2 isa TKwassert var pexprnode4 = nodearraylist2 assert pexprnode4 isa PExpr var pexprnode1 = new AAssertExpr.init_aassertexpr( tkwassertnode2, null, pexprnode4 ) node_list = pexprnode1 p.push(p.go_to(37), node_list) end init do end end private class ReduceAction281 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwassertnode2 = nodearraylist1 assert tkwassertnode2 isa TKwassert var tidnode3 = nodearraylist2 assert tidnode3 isa TId var pexprnode4 = nodearraylist3 assert pexprnode4 isa PExpr var pexprnode1 = new AAssertExpr.init_aassertexpr( tkwassertnode2, tidnode3, pexprnode4 ) node_list = pexprnode1 p.push(p.go_to(37), node_list) end init do end end private class ReduceAction282 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode1 = nodearraylist1 assert tidnode1 isa TId node_list = tidnode1 p.push(p.go_to(38), node_list) end init do end end private class ReduceAction283 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(39), node_list) end init do end end private class ReduceAction284 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var tkwthennode4 = nodearraylist5 assert tkwthennode4 isa TKwthen var pexprnode5 = nodearraylist7 assert pexprnode5 isa PExpr var tkwelsenode6 = nodearraylist9 assert tkwelsenode6 isa TKwelse var pexprnode7 = nodearraylist11 assert pexprnode7 isa PExpr var pexprnode1 = new AIfexprExpr.init_aifexprexpr( tkwifnode2, pexprnode3, tkwthennode4, pexprnode5, tkwelsenode6, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(39), node_list) end init do end end private class ReduceAction285 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(40), node_list) end init do end end private class ReduceAction286 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AOrExpr.init_aorexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(40), node_list) end init do end end private class ReduceAction287 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AAndExpr.init_aandexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(40), node_list) end init do end end private class ReduceAction288 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(41), node_list) end init do end end private class ReduceAction289 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwnotnode2 = nodearraylist1 assert tkwnotnode2 isa TKwnot var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new ANotExpr.init_anotexpr( tkwnotnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(41), node_list) end init do end end private class ReduceAction290 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction291 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AEqExpr.init_aeqexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction292 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AEeExpr.init_aeeexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction293 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ANeExpr.init_aneexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction294 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ALtExpr.init_altexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction295 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ALeExpr.init_aleexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction296 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AGtExpr.init_agtexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction297 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AGeExpr.init_ageexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction298 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AStarshipExpr.init_astarshipexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction299 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var ptypenode3 = nodearraylist4 assert ptypenode3 isa PType var pexprnode1 = new AIsaExpr.init_aisaexpr( pexprnode2, ptypenode3 ) node_list = pexprnode1 p.push(p.go_to(42), node_list) end init do end end private class ReduceAction300 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(43), node_list) end init do end end private class ReduceAction301 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new APlusExpr.init_aplusexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(43), node_list) end init do end end private class ReduceAction302 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AMinusExpr.init_aminusexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(43), node_list) end init do end end private class ReduceAction303 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(44), node_list) end init do end end private class ReduceAction304 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AStarExpr.init_astarexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(44), node_list) end init do end end private class ReduceAction305 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ASlashExpr.init_aslashexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(44), node_list) end init do end end private class ReduceAction306 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new APercentExpr.init_apercentexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(44), node_list) end init do end end private class ReduceAction307 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(45), node_list) end init do end end private class ReduceAction308 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 assert tminusnode2 isa TMinus var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new AUminusExpr.init_auminusexpr( tminusnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(45), node_list) end init do end end private class ReduceAction309 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwoncenode2 = nodearraylist1 assert tkwoncenode2 isa TKwonce var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new AOnceExpr.init_aonceexpr( tkwoncenode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(45), node_list) end init do end end private class ReduceAction310 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(46), node_list) end init do end end private class ReduceAction311 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 assert tkwnewnode2 isa TKwnew var ptypenode3 = nodearraylist3 assert ptypenode3 isa PType var listnode5 = nodearraylist4 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode1 = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, null, listnode6 ) node_list = pexprnode1 p.push(p.go_to(46), node_list) end init do end end private class ReduceAction312 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tattridnode3 = nodearraylist4 assert tattridnode3 isa TAttrid var pexprnode1 = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction313 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 assert tattridnode3 isa TAttrid var pexprnode1 = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction314 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tidnode3 = nodearraylist4 assert tidnode3 isa TId var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction315 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 assert tidnode3 isa TId var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction316 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction317 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 assert pqualifiednode2 isa PQualified var tkwsupernode3 = nodearraylist2 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction318 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tkwinitnode3 = nodearraylist4 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction319 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction320 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var pexprnode1 = new ABraExpr.init_abraexpr( pexprnode2, listnode4 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction321 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 assert tkwnewnode2 isa TKwnew var ptypenode3 = nodearraylist3 assert ptypenode3 isa PType var tidnode4 = nodearraylist6 assert tidnode4 isa TId var listnode5 = nodearraylist7 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode1 = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, tidnode4, listnode6 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction322 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist3 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist7 assert pexprnode3 isa PExpr var pexprnode1 = new ACrangeExpr.init_acrangeexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction323 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist3 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist7 assert pexprnode3 isa PExpr var pexprnode1 = new AOrangeExpr.init_aorangeexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction324 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end var pexprnode1 = new AArrayExpr.init_aarrayexpr( listnode3 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction325 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwselfnode2 = nodearraylist1 assert tkwselfnode2 isa TKwself var pexprnode1 = new ASelfExpr.init_aselfexpr( tkwselfnode2 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction326 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwtruenode2 = nodearraylist1 assert tkwtruenode2 isa TKwtrue var pexprnode1 = new ATrueExpr.init_atrueexpr( tkwtruenode2 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction327 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwfalsenode2 = nodearraylist1 assert tkwfalsenode2 isa TKwfalse var pexprnode1 = new AFalseExpr.init_afalseexpr( tkwfalsenode2 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction328 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwnullnode2 = nodearraylist1 assert tkwnullnode2 isa TKwnull var pexprnode1 = new ANullExpr.init_anullexpr( tkwnullnode2 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction329 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tnumbernode2 = nodearraylist1 assert tnumbernode2 isa TNumber var pexprnode1 = new AIntExpr.init_aintexpr( tnumbernode2 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction330 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tfloatnode2 = nodearraylist1 assert tfloatnode2 isa TFloat var pexprnode1 = new AFloatExpr.init_afloatexpr( tfloatnode2 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction331 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tcharnode2 = nodearraylist1 assert tcharnode2 isa TChar var pexprnode1 = new ACharExpr.init_acharexpr( tcharnode2 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction332 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tstringnode2 = nodearraylist1 assert tstringnode2 isa TString var pexprnode1 = new AStringExpr.init_astringexpr( tstringnode2 ) node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction333 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction334 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist2 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(47), node_list) end init do end end private class ReduceAction335 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] var pexprnode3 = nodearraylist2 assert pexprnode3 isa PExpr if listnode2 != null then if listnode4.is_empty then listnode4 = listnode2 else listnode4.append(listnode2) end end if pexprnode3 != null then listnode4.add(pexprnode3) end var pexprnode1 = new ASuperstringExpr.init_asuperstringexpr( listnode4 ) node_list = pexprnode1 p.push(p.go_to(48), node_list) end init do end end private class ReduceAction336 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] var pexprnode4 = nodearraylist3 assert pexprnode4 isa PExpr if listnode2 != null then if listnode5.is_empty then listnode5 = listnode2 else listnode5.append(listnode2) end end if listnode3 != null then if listnode5.is_empty then listnode5 = listnode3 else listnode5.append(listnode3) end end if pexprnode4 != null then listnode5.add(pexprnode4) end var pexprnode1 = new ASuperstringExpr.init_asuperstringexpr( listnode5 ) node_list = pexprnode1 p.push(p.go_to(48), node_list) end init do end end private class ReduceAction337 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr var pexprnode2 = nodearraylist3 assert pexprnode2 isa PExpr if pexprnode1 != null then listnode3.add(pexprnode1) end if pexprnode2 != null then listnode3.add(pexprnode2) end node_list = listnode3 p.push(p.go_to(49), node_list) end init do end end private class ReduceAction338 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tstartstringnode2 = nodearraylist1 assert tstartstringnode2 isa TStartString var pexprnode1 = new AStartStringExpr.init_astartstringexpr( tstartstringnode2 ) node_list = pexprnode1 p.push(p.go_to(50), node_list) end init do end end private class ReduceAction339 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr var pexprnode2 = nodearraylist3 assert pexprnode2 isa PExpr if pexprnode1 != null then listnode3.add(pexprnode1) end if pexprnode2 != null then listnode3.add(pexprnode2) end node_list = listnode3 p.push(p.go_to(51), node_list) end init do end end private class ReduceAction340 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tmidstringnode2 = nodearraylist1 assert tmidstringnode2 isa TMidString var pexprnode1 = new AMidStringExpr.init_amidstringexpr( tmidstringnode2 ) node_list = pexprnode1 p.push(p.go_to(52), node_list) end init do end end private class ReduceAction341 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tendstringnode2 = nodearraylist1 assert tendstringnode2 isa TEndString var pexprnode1 = new AEndStringExpr.init_aendstringexpr( tendstringnode2 ) node_list = pexprnode1 p.push(p.go_to(53), node_list) end init do end end private class ReduceAction342 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist3 assert pexprnode1 isa PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end node_list = listnode2 p.push(p.go_to(54), node_list) end init do end end private class ReduceAction343 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist3 assert pexprnode1 isa PExpr var listnode2 = nodearraylist5 assert listnode2 isa Array[Object] if pexprnode1 != null then listnode3.add(pexprnode1) end if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end node_list = listnode3 p.push(p.go_to(54), node_list) end init do end end private class ReduceAction344 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode1 = new Array[Object] node_list = listnode1 p.push(p.go_to(54), node_list) end init do end end private class ReduceAction345 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var listnode1 = new Array[Object] node_list = listnode1 p.push(p.go_to(54), node_list) end init do end end private class ReduceAction346 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist3 assert pexprnode1 isa PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end node_list = listnode2 p.push(p.go_to(55), node_list) end init do end end private class ReduceAction347 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist3 assert pexprnode1 isa PExpr var listnode2 = nodearraylist5 assert listnode2 isa Array[Object] if pexprnode1 != null then listnode3.add(pexprnode1) end if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end node_list = listnode3 p.push(p.go_to(55), node_list) end init do end end private class ReduceAction348 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end node_list = listnode2 p.push(p.go_to(55), node_list) end init do end end private class ReduceAction349 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode1 = new Array[Object] node_list = listnode1 p.push(p.go_to(55), node_list) end init do end end private class ReduceAction350 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var listnode1 = new Array[Object] node_list = listnode1 p.push(p.go_to(55), node_list) end init do end end private class ReduceAction351 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist3 assert pexprnode1 isa PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end node_list = listnode2 p.push(p.go_to(56), node_list) end init do end end private class ReduceAction352 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist3 assert pexprnode1 isa PExpr var listnode2 = nodearraylist5 assert listnode2 isa Array[Object] if pexprnode1 != null then listnode3.add(pexprnode1) end if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end node_list = listnode3 p.push(p.go_to(56), node_list) end init do end end private class ReduceAction353 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist3 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(57), node_list) end init do end end private class ReduceAction354 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var tclassidnode3 = nodearraylist1 assert tclassidnode3 isa TClassid var pqualifiednode1 = new AQualified.init_aqualified( listnode2, tclassidnode3 ) node_list = pqualifiednode1 p.push(p.go_to(58), node_list) end init do end end private class ReduceAction355 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end var tclassidnode4 = nodearraylist2 assert tclassidnode4 isa TClassid var pqualifiednode1 = new AQualified.init_aqualified( listnode3, tclassidnode4 ) node_list = pqualifiednode1 p.push(p.go_to(58), node_list) end init do end end private class ReduceAction356 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end var pqualifiednode1 = new AQualified.init_aqualified( listnode3, null ) node_list = pqualifiednode1 p.push(p.go_to(58), node_list) end init do end end private class ReduceAction357 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode1 = nodearraylist1 assert tidnode1 isa TId node_list = tidnode1 p.push(p.go_to(59), node_list) end init do end end private class ReduceAction358 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tclassidnode1 = nodearraylist1 assert tclassidnode1 isa TClassid node_list = tclassidnode1 p.push(p.go_to(60), node_list) end init do end end private class ReduceAction359 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop p.push(p.go_to(61), node_list) end init do end end private class ReduceAction360 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop p.push(p.go_to(61), node_list) end init do end end private class ReduceAction361 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end var pdocnode1 = new ADoc.init_adoc( listnode3 ) node_list = pdocnode1 p.push(p.go_to(62), node_list) end init do end end private class ReduceAction362 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode2 = nodearraylist2 assert listnode2 isa Array[Object] if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end var pdocnode1 = new ADoc.init_adoc( listnode3 ) node_list = pdocnode1 p.push(p.go_to(62), node_list) end init do end end private class ReduceAction363 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop node_list = null p.push(p.go_to(62), node_list) end init do end end private class ReduceAction364 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null node_list = null p.push(p.go_to(63), node_list) end init do end end private class ReduceAction365 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pdocnode1 = nodearraylist1 assert pdocnode1 isa PDoc node_list = pdocnode1 p.push(p.go_to(63), node_list) end init do end end private class ReduceAction366 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop p.push(p.go_to(64), node_list) end init do end end private class ReduceAction367 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop p.push(p.go_to(64), node_list) end init do end end private class ReduceAction368 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop p.push(p.go_to(64), node_list) end init do end end private class ReduceAction369 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tclassidnode2 = nodearraylist1 assert tclassidnode2 isa TClassid var ptypenode1 = new AType.init_atype( tclassidnode2, listnode3 ) node_list = ptypenode1 p.push(p.go_to(65), node_list) end init do end end private class ReduceAction370 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(66), node_list) end init do end end private class ReduceAction371 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var tkwthennode4 = nodearraylist5 assert tkwthennode4 isa TKwthen var pexprnode5 = nodearraylist7 assert pexprnode5 isa PExpr var tkwelsenode6 = nodearraylist9 assert tkwelsenode6 isa TKwelse var pexprnode7 = nodearraylist11 assert pexprnode7 isa PExpr var pexprnode1 = new AIfexprExpr.init_aifexprexpr( tkwifnode2, pexprnode3, tkwthennode4, pexprnode5, tkwelsenode6, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(66), node_list) end init do end end private class ReduceAction372 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(67), node_list) end init do end end private class ReduceAction373 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AOrExpr.init_aorexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(67), node_list) end init do end end private class ReduceAction374 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AAndExpr.init_aandexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(67), node_list) end init do end end private class ReduceAction375 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(68), node_list) end init do end end private class ReduceAction376 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwnotnode2 = nodearraylist1 assert tkwnotnode2 isa TKwnot var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new ANotExpr.init_anotexpr( tkwnotnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(68), node_list) end init do end end private class ReduceAction377 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction378 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AEqExpr.init_aeqexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction379 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AEeExpr.init_aeeexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction380 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ANeExpr.init_aneexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction381 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ALtExpr.init_altexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction382 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ALeExpr.init_aleexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction383 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AGtExpr.init_agtexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction384 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AGeExpr.init_ageexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction385 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AStarshipExpr.init_astarshipexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction386 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var ptypenode3 = nodearraylist4 assert ptypenode3 isa PType var pexprnode1 = new AIsaExpr.init_aisaexpr( pexprnode2, ptypenode3 ) node_list = pexprnode1 p.push(p.go_to(69), node_list) end init do end end private class ReduceAction387 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(70), node_list) end init do end end private class ReduceAction388 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new APlusExpr.init_aplusexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(70), node_list) end init do end end private class ReduceAction389 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AMinusExpr.init_aminusexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(70), node_list) end init do end end private class ReduceAction390 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(71), node_list) end init do end end private class ReduceAction391 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AStarExpr.init_astarexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(71), node_list) end init do end end private class ReduceAction392 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ASlashExpr.init_aslashexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(71), node_list) end init do end end private class ReduceAction393 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new APercentExpr.init_apercentexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(71), node_list) end init do end end private class ReduceAction394 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(72), node_list) end init do end end private class ReduceAction395 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 assert tminusnode2 isa TMinus var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new AUminusExpr.init_auminusexpr( tminusnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(72), node_list) end init do end end private class ReduceAction396 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwoncenode2 = nodearraylist1 assert tkwoncenode2 isa TKwonce var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new AOnceExpr.init_aonceexpr( tkwoncenode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(72), node_list) end init do end end private class ReduceAction397 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(73), node_list) end init do end end private class ReduceAction398 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 assert tkwnewnode2 isa TKwnew var ptypenode3 = nodearraylist3 assert ptypenode3 isa PType var listnode5 = nodearraylist4 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode1 = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, null, listnode6 ) node_list = pexprnode1 p.push(p.go_to(73), node_list) end init do end end private class ReduceAction399 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tattridnode3 = nodearraylist4 assert tattridnode3 isa TAttrid var pexprnode1 = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction400 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 assert tattridnode3 isa TAttrid var pexprnode1 = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction401 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tidnode3 = nodearraylist4 assert tidnode3 isa TId var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction402 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 assert tidnode3 isa TId var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction403 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction404 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 assert pqualifiednode2 isa PQualified var tkwsupernode3 = nodearraylist2 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction405 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tkwinitnode3 = nodearraylist4 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction406 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction407 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 assert tkwnewnode2 isa TKwnew var ptypenode3 = nodearraylist3 assert ptypenode3 isa PType var tidnode4 = nodearraylist6 assert tidnode4 isa TId var listnode5 = nodearraylist7 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode1 = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, tidnode4, listnode6 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction408 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwselfnode2 = nodearraylist1 assert tkwselfnode2 isa TKwself var pexprnode1 = new ASelfExpr.init_aselfexpr( tkwselfnode2 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction409 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwtruenode2 = nodearraylist1 assert tkwtruenode2 isa TKwtrue var pexprnode1 = new ATrueExpr.init_atrueexpr( tkwtruenode2 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction410 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwfalsenode2 = nodearraylist1 assert tkwfalsenode2 isa TKwfalse var pexprnode1 = new AFalseExpr.init_afalseexpr( tkwfalsenode2 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction411 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwnullnode2 = nodearraylist1 assert tkwnullnode2 isa TKwnull var pexprnode1 = new ANullExpr.init_anullexpr( tkwnullnode2 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction412 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tnumbernode2 = nodearraylist1 assert tnumbernode2 isa TNumber var pexprnode1 = new AIntExpr.init_aintexpr( tnumbernode2 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction413 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tfloatnode2 = nodearraylist1 assert tfloatnode2 isa TFloat var pexprnode1 = new AFloatExpr.init_afloatexpr( tfloatnode2 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction414 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tcharnode2 = nodearraylist1 assert tcharnode2 isa TChar var pexprnode1 = new ACharExpr.init_acharexpr( tcharnode2 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction415 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tstringnode2 = nodearraylist1 assert tstringnode2 isa TString var pexprnode1 = new AStringExpr.init_astringexpr( tstringnode2 ) node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction416 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction417 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist2 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(74), node_list) end init do end end private class ReduceAction418 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(75), node_list) end init do end end private class ReduceAction419 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode2 = nodearraylist2 assert pexprnode2 isa PExpr if pexprnode2 != null then listnode3.add(pexprnode2) end var pexprnode1 = new ABlockExpr.init_ablockexpr( listnode3 ) node_list = pexprnode1 p.push(p.go_to(75), node_list) end init do end end private class ReduceAction420 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist2 assert pexprnode2 isa PExpr var listnode3 = nodearraylist3 assert listnode3 isa Array[Object] if pexprnode2 != null then listnode4.add(pexprnode2) end if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var pexprnode1 = new ABlockExpr.init_ablockexpr( listnode4 ) node_list = pexprnode1 p.push(p.go_to(75), node_list) end init do end end private class ReduceAction421 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop node_list = null p.push(p.go_to(75), node_list) end init do end end private class ReduceAction422 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop node_list = null p.push(p.go_to(75), node_list) end init do end end private class ReduceAction423 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction424 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction425 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwreturnnode2 = nodearraylist1 assert tkwreturnnode2 isa TKwreturn var pexprnode1 = new AReturnExpr.init_areturnexpr( tkwreturnnode2, null ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction426 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwreturnnode2 = nodearraylist1 assert tkwreturnnode2 isa TKwreturn var pexprnode3 = nodearraylist2 assert pexprnode3 isa PExpr var pexprnode1 = new AReturnExpr.init_areturnexpr( tkwreturnnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction427 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwbreaknode2 = nodearraylist1 assert tkwbreaknode2 isa TKwbreak var pexprnode1 = new ABreakExpr.init_abreakexpr( tkwbreaknode2 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction428 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwabortnode2 = nodearraylist1 assert tkwabortnode2 isa TKwabort var pexprnode1 = new AAbortExpr.init_aabortexpr( tkwabortnode2 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction429 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwcontinuenode2 = nodearraylist1 assert tkwcontinuenode2 isa TKwcontinue var pexprnode1 = new AContinueExpr.init_acontinueexpr( tkwcontinuenode2 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction430 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction431 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction432 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction433 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction434 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction435 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tidnode3 = nodearraylist4 assert tidnode3 isa TId var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction436 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 assert tidnode3 isa TId var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction437 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction438 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 assert pqualifiednode2 isa PQualified var tkwsupernode3 = nodearraylist2 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction439 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tkwinitnode3 = nodearraylist4 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction440 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(76), node_list) end init do end end private class ReduceAction441 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwdonode2 = nodearraylist1 assert tkwdonode2 isa TKwdo var pexprnode3 = nodearraylist2 assert pexprnode3 isa PExpr var pexprnode1 = new ADoExpr.init_adoexpr( tkwdonode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(77), node_list) end init do end end private class ReduceAction442 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode4 = nodearraylist6 assert pexprnode4 isa PExpr var pexprnode5 = nodearraylist8 assert pexprnode5 isa PExpr var pexprnode1 = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(78), node_list) end init do end end private class ReduceAction443 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwwhilenode2 = nodearraylist1 assert tkwwhilenode2 isa TKwwhile var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var tkwdonode4 = nodearraylist5 assert tkwdonode4 isa TKwdo var pexprnode5 = nodearraylist6 assert pexprnode5 isa PExpr var pexprnode1 = new AWhileExpr.init_awhileexpr( tkwwhilenode2, pexprnode3, tkwdonode4, pexprnode5 ) node_list = pexprnode1 p.push(p.go_to(79), node_list) end init do end end private class ReduceAction444 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tkwdonode3 = nodearraylist3 assert tkwdonode3 isa TKwdo var pexprnode4 = nodearraylist4 assert pexprnode4 isa PExpr var pexprnode1 = new AForExpr.init_aforexpr( pexprnode2, tkwdonode3, pexprnode4 ) node_list = pexprnode1 p.push(p.go_to(80), node_list) end init do end end private class ReduceAction445 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tclassidnode2 = nodearraylist1 assert tclassidnode2 isa TClassid var ptypenode1 = new AType.init_atype( tclassidnode2, listnode3 ) node_list = ptypenode1 p.push(p.go_to(81), node_list) end init do end end private class ReduceAction446 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tclassidnode2 = nodearraylist1 assert tclassidnode2 isa TClassid var listnode3 = nodearraylist4 assert listnode3 isa Array[Object] if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end end var ptypenode1 = new AType.init_atype( tclassidnode2, listnode4 ) node_list = ptypenode1 p.push(p.go_to(81), node_list) end init do end end private class ReduceAction447 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(82), node_list) end init do end end private class ReduceAction448 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var tkwthennode4 = nodearraylist5 assert tkwthennode4 isa TKwthen var pexprnode5 = nodearraylist7 assert pexprnode5 isa PExpr var tkwelsenode6 = nodearraylist9 assert tkwelsenode6 isa TKwelse var pexprnode7 = nodearraylist11 assert pexprnode7 isa PExpr var pexprnode1 = new AIfexprExpr.init_aifexprexpr( tkwifnode2, pexprnode3, tkwthennode4, pexprnode5, tkwelsenode6, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(82), node_list) end init do end end private class ReduceAction449 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(83), node_list) end init do end end private class ReduceAction450 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AOrExpr.init_aorexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(83), node_list) end init do end end private class ReduceAction451 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AAndExpr.init_aandexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(83), node_list) end init do end end private class ReduceAction452 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(84), node_list) end init do end end private class ReduceAction453 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwnotnode2 = nodearraylist1 assert tkwnotnode2 isa TKwnot var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new ANotExpr.init_anotexpr( tkwnotnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(84), node_list) end init do end end private class ReduceAction454 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction455 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AEqExpr.init_aeqexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction456 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AEeExpr.init_aeeexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction457 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ANeExpr.init_aneexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction458 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ALtExpr.init_altexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction459 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ALeExpr.init_aleexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction460 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AGtExpr.init_agtexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction461 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AGeExpr.init_ageexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction462 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AStarshipExpr.init_astarshipexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction463 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var ptypenode3 = nodearraylist4 assert ptypenode3 isa PType var pexprnode1 = new AIsaExpr.init_aisaexpr( pexprnode2, ptypenode3 ) node_list = pexprnode1 p.push(p.go_to(85), node_list) end init do end end private class ReduceAction464 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(86), node_list) end init do end end private class ReduceAction465 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new APlusExpr.init_aplusexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(86), node_list) end init do end end private class ReduceAction466 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AMinusExpr.init_aminusexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(86), node_list) end init do end end private class ReduceAction467 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(87), node_list) end init do end end private class ReduceAction468 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AStarExpr.init_astarexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(87), node_list) end init do end end private class ReduceAction469 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ASlashExpr.init_aslashexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(87), node_list) end init do end end private class ReduceAction470 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new APercentExpr.init_apercentexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(87), node_list) end init do end end private class ReduceAction471 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(88), node_list) end init do end end private class ReduceAction472 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 assert tminusnode2 isa TMinus var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new AUminusExpr.init_auminusexpr( tminusnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(88), node_list) end init do end end private class ReduceAction473 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwoncenode2 = nodearraylist1 assert tkwoncenode2 isa TKwonce var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new AOnceExpr.init_aonceexpr( tkwoncenode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(88), node_list) end init do end end private class ReduceAction474 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(89), node_list) end init do end end private class ReduceAction475 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 assert tkwnewnode2 isa TKwnew var ptypenode3 = nodearraylist3 assert ptypenode3 isa PType var listnode5 = nodearraylist4 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode1 = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, null, listnode6 ) node_list = pexprnode1 p.push(p.go_to(89), node_list) end init do end end private class ReduceAction476 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tattridnode3 = nodearraylist4 assert tattridnode3 isa TAttrid var pexprnode1 = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction477 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 assert tattridnode3 isa TAttrid var pexprnode1 = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction478 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tidnode3 = nodearraylist4 assert tidnode3 isa TId var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction479 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 assert tidnode3 isa TId var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction480 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction481 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 assert pqualifiednode2 isa PQualified var tkwsupernode3 = nodearraylist2 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction482 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tkwinitnode3 = nodearraylist4 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction483 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction484 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 assert tkwnewnode2 isa TKwnew var ptypenode3 = nodearraylist3 assert ptypenode3 isa PType var tidnode4 = nodearraylist6 assert tidnode4 isa TId var listnode5 = nodearraylist7 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode1 = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, tidnode4, listnode6 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction485 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwselfnode2 = nodearraylist1 assert tkwselfnode2 isa TKwself var pexprnode1 = new ASelfExpr.init_aselfexpr( tkwselfnode2 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction486 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwtruenode2 = nodearraylist1 assert tkwtruenode2 isa TKwtrue var pexprnode1 = new ATrueExpr.init_atrueexpr( tkwtruenode2 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction487 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwfalsenode2 = nodearraylist1 assert tkwfalsenode2 isa TKwfalse var pexprnode1 = new AFalseExpr.init_afalseexpr( tkwfalsenode2 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction488 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwnullnode2 = nodearraylist1 assert tkwnullnode2 isa TKwnull var pexprnode1 = new ANullExpr.init_anullexpr( tkwnullnode2 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction489 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tnumbernode2 = nodearraylist1 assert tnumbernode2 isa TNumber var pexprnode1 = new AIntExpr.init_aintexpr( tnumbernode2 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction490 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tfloatnode2 = nodearraylist1 assert tfloatnode2 isa TFloat var pexprnode1 = new AFloatExpr.init_afloatexpr( tfloatnode2 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction491 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tcharnode2 = nodearraylist1 assert tcharnode2 isa TChar var pexprnode1 = new ACharExpr.init_acharexpr( tcharnode2 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction492 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tstringnode2 = nodearraylist1 assert tstringnode2 isa TString var pexprnode1 = new AStringExpr.init_astringexpr( tstringnode2 ) node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction493 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(90), node_list) end init do end end private class ReduceAction494 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tclassidnode2 = nodearraylist1 assert tclassidnode2 isa TClassid var ptypenode1 = new AType.init_atype( tclassidnode2, listnode3 ) node_list = ptypenode1 p.push(p.go_to(91), node_list) end init do end end private class ReduceAction495 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(92), node_list) end init do end end private class ReduceAction496 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 assert tkwifnode2 isa TKwif var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var tkwthennode4 = nodearraylist5 assert tkwthennode4 isa TKwthen var pexprnode5 = nodearraylist7 assert pexprnode5 isa PExpr var tkwelsenode6 = nodearraylist9 assert tkwelsenode6 isa TKwelse var pexprnode7 = nodearraylist11 assert pexprnode7 isa PExpr var pexprnode1 = new AIfexprExpr.init_aifexprexpr( tkwifnode2, pexprnode3, tkwthennode4, pexprnode5, tkwelsenode6, pexprnode7 ) node_list = pexprnode1 p.push(p.go_to(92), node_list) end init do end end private class ReduceAction497 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(93), node_list) end init do end end private class ReduceAction498 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AOrExpr.init_aorexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(93), node_list) end init do end end private class ReduceAction499 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AAndExpr.init_aandexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(93), node_list) end init do end end private class ReduceAction500 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(94), node_list) end init do end end private class ReduceAction501 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwnotnode2 = nodearraylist1 assert tkwnotnode2 isa TKwnot var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new ANotExpr.init_anotexpr( tkwnotnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(94), node_list) end init do end end private class ReduceAction502 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction503 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AEqExpr.init_aeqexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction504 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AEeExpr.init_aeeexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction505 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ANeExpr.init_aneexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction506 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ALtExpr.init_altexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction507 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ALeExpr.init_aleexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction508 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AGtExpr.init_agtexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction509 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AGeExpr.init_ageexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction510 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AStarshipExpr.init_astarshipexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction511 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var ptypenode3 = nodearraylist4 assert ptypenode3 isa PType var pexprnode1 = new AIsaExpr.init_aisaexpr( pexprnode2, ptypenode3 ) node_list = pexprnode1 p.push(p.go_to(95), node_list) end init do end end private class ReduceAction512 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(96), node_list) end init do end end private class ReduceAction513 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new APlusExpr.init_aplusexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(96), node_list) end init do end end private class ReduceAction514 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AMinusExpr.init_aminusexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(96), node_list) end init do end end private class ReduceAction515 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(97), node_list) end init do end end private class ReduceAction516 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new AStarExpr.init_astarexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(97), node_list) end init do end end private class ReduceAction517 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new ASlashExpr.init_aslashexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(97), node_list) end init do end end private class ReduceAction518 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var pexprnode3 = nodearraylist4 assert pexprnode3 isa PExpr var pexprnode1 = new APercentExpr.init_apercentexpr( pexprnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(97), node_list) end init do end end private class ReduceAction519 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(98), node_list) end init do end end private class ReduceAction520 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 assert tminusnode2 isa TMinus var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new AUminusExpr.init_auminusexpr( tminusnode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(98), node_list) end init do end end private class ReduceAction521 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwoncenode2 = nodearraylist1 assert tkwoncenode2 isa TKwonce var pexprnode3 = nodearraylist3 assert pexprnode3 isa PExpr var pexprnode1 = new AOnceExpr.init_aonceexpr( tkwoncenode2, pexprnode3 ) node_list = pexprnode1 p.push(p.go_to(98), node_list) end init do end end private class ReduceAction522 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(99), node_list) end init do end end private class ReduceAction523 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 assert tkwnewnode2 isa TKwnew var ptypenode3 = nodearraylist3 assert ptypenode3 isa PType var listnode5 = nodearraylist4 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode1 = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, null, listnode6 ) node_list = pexprnode1 p.push(p.go_to(99), node_list) end init do end end private class ReduceAction524 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tattridnode3 = nodearraylist2 assert tattridnode3 isa TAttrid var pexprnode1 = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction525 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tidnode3 = nodearraylist2 assert tidnode3 isa TId var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction526 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction527 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 assert pqualifiednode2 isa PQualified var tkwsupernode3 = nodearraylist2 assert tkwsupernode3 isa TKwsuper var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction528 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 assert pexprnode2 isa PExpr var tkwinitnode3 = nodearraylist2 assert tkwinitnode3 isa TKwinit var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end end var pexprnode1 = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction529 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 assert tkwnewnode2 isa TKwnew var ptypenode3 = nodearraylist3 assert ptypenode3 isa PType var tidnode4 = nodearraylist6 assert tidnode4 isa TId var listnode5 = nodearraylist7 assert listnode5 isa Array[Object] if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end end var pexprnode1 = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, tidnode4, listnode6 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction530 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwselfnode2 = nodearraylist1 assert tkwselfnode2 isa TKwself var pexprnode1 = new ASelfExpr.init_aselfexpr( tkwselfnode2 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction531 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwtruenode2 = nodearraylist1 assert tkwtruenode2 isa TKwtrue var pexprnode1 = new ATrueExpr.init_atrueexpr( tkwtruenode2 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction532 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwfalsenode2 = nodearraylist1 assert tkwfalsenode2 isa TKwfalse var pexprnode1 = new AFalseExpr.init_afalseexpr( tkwfalsenode2 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction533 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tkwnullnode2 = nodearraylist1 assert tkwnullnode2 isa TKwnull var pexprnode1 = new ANullExpr.init_anullexpr( tkwnullnode2 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction534 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tnumbernode2 = nodearraylist1 assert tnumbernode2 isa TNumber var pexprnode1 = new AIntExpr.init_aintexpr( tnumbernode2 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction535 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tfloatnode2 = nodearraylist1 assert tfloatnode2 isa TFloat var pexprnode1 = new AFloatExpr.init_afloatexpr( tfloatnode2 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction536 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tcharnode2 = nodearraylist1 assert tcharnode2 isa TChar var pexprnode1 = new ACharExpr.init_acharexpr( tcharnode2 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction537 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var tstringnode2 = nodearraylist1 assert tstringnode2 isa TString var pexprnode1 = new AStringExpr.init_astringexpr( tstringnode2 ) node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction538 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(100), node_list) end init do end end private class ReduceAction539 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr node_list = pexprnode1 p.push(p.go_to(101), node_list) end init do end end private class ReduceAction540 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var pexprnode1 = new AImplicitSelfExpr.init_aimplicitselfexpr( ) node_list = pexprnode1 p.push(p.go_to(101), node_list) end init do end end private class ReduceAction541 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pimportnode1 = nodearraylist1 assert pimportnode1 isa PImport if pimportnode1 != null then listnode2.add(pimportnode1) end node_list = listnode2 p.push(p.go_to(102), node_list) end init do end end private class ReduceAction542 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pimportnode2 = nodearraylist2 assert pimportnode2 isa PImport if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if pimportnode2 != null then listnode3.add(pimportnode2) end node_list = listnode3 p.push(p.go_to(102), node_list) end init do end end private class ReduceAction543 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pclassdefnode1 = nodearraylist1 assert pclassdefnode1 isa PClassdef if pclassdefnode1 != null then listnode2.add(pclassdefnode1) end node_list = listnode2 p.push(p.go_to(103), node_list) end init do end end private class ReduceAction544 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pclassdefnode2 = nodearraylist2 assert pclassdefnode2 isa PClassdef if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if pclassdefnode2 != null then listnode3.add(pclassdefnode2) end node_list = listnode3 p.push(p.go_to(103), node_list) end init do end end private class ReduceAction545 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var psuperclassnode1 = nodearraylist1 assert psuperclassnode1 isa PSuperclass if psuperclassnode1 != null then listnode2.add(psuperclassnode1) end node_list = listnode2 p.push(p.go_to(104), node_list) end init do end end private class ReduceAction546 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var psuperclassnode2 = nodearraylist2 assert psuperclassnode2 isa PSuperclass if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if psuperclassnode2 != null then listnode3.add(psuperclassnode2) end node_list = listnode3 p.push(p.go_to(104), node_list) end init do end end private class ReduceAction547 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pformaldefnode1 = nodearraylist1 assert pformaldefnode1 isa PFormaldef if pformaldefnode1 != null then listnode2.add(pformaldefnode1) end node_list = listnode2 p.push(p.go_to(105), node_list) end init do end end private class ReduceAction548 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pformaldefnode2 = nodearraylist2 assert pformaldefnode2 isa PFormaldef if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if pformaldefnode2 != null then listnode3.add(pformaldefnode2) end node_list = listnode3 p.push(p.go_to(105), node_list) end init do end end private class ReduceAction549 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ppropdefnode1 = nodearraylist1 assert ppropdefnode1 isa PPropdef if ppropdefnode1 != null then listnode2.add(ppropdefnode1) end node_list = listnode2 p.push(p.go_to(106), node_list) end init do end end private class ReduceAction550 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var ppropdefnode2 = nodearraylist2 assert ppropdefnode2 isa PPropdef if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if ppropdefnode2 != null then listnode3.add(ppropdefnode2) end node_list = listnode3 p.push(p.go_to(106), node_list) end init do end end private class ReduceAction551 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ppropdefnode1 = nodearraylist1 assert ppropdefnode1 isa PPropdef if ppropdefnode1 != null then listnode2.add(ppropdefnode1) end node_list = listnode2 p.push(p.go_to(107), node_list) end init do end end private class ReduceAction552 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var ppropdefnode2 = nodearraylist2 assert ppropdefnode2 isa PPropdef if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if ppropdefnode2 != null then listnode3.add(ppropdefnode2) end node_list = listnode3 p.push(p.go_to(107), node_list) end init do end end private class ReduceAction553 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pparamnode1 = nodearraylist1 assert pparamnode1 isa PParam if pparamnode1 != null then listnode2.add(pparamnode1) end node_list = listnode2 p.push(p.go_to(108), node_list) end init do end end private class ReduceAction554 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pparamnode2 = nodearraylist2 assert pparamnode2 isa PParam if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if pparamnode2 != null then listnode3.add(pparamnode2) end node_list = listnode3 p.push(p.go_to(108), node_list) end init do end end private class ReduceAction555 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ptypenode1 = nodearraylist1 assert ptypenode1 isa PType if ptypenode1 != null then listnode2.add(ptypenode1) end node_list = listnode2 p.push(p.go_to(109), node_list) end init do end end private class ReduceAction556 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var ptypenode2 = nodearraylist2 assert ptypenode2 isa PType if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if ptypenode2 != null then listnode3.add(ptypenode2) end node_list = listnode3 p.push(p.go_to(109), node_list) end init do end end private class ReduceAction557 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end node_list = listnode2 p.push(p.go_to(110), node_list) end init do end end private class ReduceAction558 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pexprnode2 = nodearraylist2 assert pexprnode2 isa PExpr if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if pexprnode2 != null then listnode3.add(pexprnode2) end node_list = listnode3 p.push(p.go_to(110), node_list) end init do end end private class ReduceAction559 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] if listnode1 != null then if listnode2.is_empty then listnode2 = listnode1 else listnode2.append(listnode1) end end node_list = listnode2 p.push(p.go_to(111), node_list) end init do end end private class ReduceAction560 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var listnode2 = nodearraylist2 assert listnode2 isa Array[Object] if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end end node_list = listnode3 p.push(p.go_to(111), node_list) end init do end end private class ReduceAction561 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist1 assert pexprnode1 isa PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end node_list = listnode2 p.push(p.go_to(112), node_list) end init do end end private class ReduceAction562 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pexprnode2 = nodearraylist2 assert pexprnode2 isa PExpr if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if pexprnode2 != null then listnode3.add(pexprnode2) end node_list = listnode3 p.push(p.go_to(112), node_list) end init do end end private class ReduceAction563 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var tidnode1 = nodearraylist1 assert tidnode1 isa TId if tidnode1 != null then listnode2.add(tidnode1) end node_list = listnode2 p.push(p.go_to(113), node_list) end init do end end private class ReduceAction564 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var tidnode2 = nodearraylist2 assert tidnode2 isa TId if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if tidnode2 != null then listnode3.add(tidnode2) end node_list = listnode3 p.push(p.go_to(113), node_list) end init do end end private class ReduceAction565 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var tcommentnode1 = nodearraylist1 assert tcommentnode1 isa TComment if tcommentnode1 != null then listnode2.add(tcommentnode1) end node_list = listnode2 p.push(p.go_to(114), node_list) end init do end end private class ReduceAction566 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var tcommentnode2 = nodearraylist2 assert tcommentnode2 isa TComment if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if tcommentnode2 != null then listnode3.add(tcommentnode2) end node_list = listnode3 p.push(p.go_to(114), node_list) end init do end end private class ReduceAction567 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var teolnode1 = nodearraylist1 assert teolnode1 isa TEol if teolnode1 != null then listnode2.add(teolnode1) end node_list = listnode2 p.push(p.go_to(115), node_list) end init do end end private class ReduceAction568 special ReduceAction redef meth action(p: Parser) do var node_list: Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var teolnode2 = nodearraylist2 assert teolnode2 isa TEol if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end end if teolnode2 != null then listnode3.add(teolnode2) end node_list = listnode3 p.push(p.go_to(115), node_list) end init do end end