Fixed issue with do statements with counter where artihmetic expressions couldn't be used as conditions only contants or variables, created the program 1
This commit is contained in:
parent
34d4697aa9
commit
c7d211f0b5
9 changed files with 426 additions and 101 deletions
|
|
@ -27,82 +27,82 @@ for _k, _v in _lr_goto_items.items():
|
|||
del _lr_goto_items
|
||||
_lr_productions = [
|
||||
("S' -> programa","S'",1,None,None,None),
|
||||
('programa -> program action_37 id V F action_38 B end program','programa',9,'p_programa','fort.py',225),
|
||||
('V -> V Tipo Dim doubleColon Rid action_addSymbols action_32','V',7,'p_V','fort.py',232),
|
||||
('V -> <empty>','V',0,'p_V','fort.py',233),
|
||||
('Rid -> id','Rid',1,'p_Rid','fort.py',239),
|
||||
('Rid -> Rid coma id','Rid',3,'p_Rid','fort.py',240),
|
||||
('Tipo -> integer','Tipo',1,'p_Tipo','fort.py',252),
|
||||
('Tipo -> real','Tipo',1,'p_Tipo','fort.py',253),
|
||||
('Dim -> openBra int action_30 closedBra','Dim',4,'p_Dim','fort.py',261),
|
||||
('Dim -> openBra int action_30 closedBra openBra int action_31 closedBra','Dim',8,'p_Dim','fort.py',262),
|
||||
('Dim -> <empty>','Dim',0,'p_Dim','fort.py',263),
|
||||
('F -> F subroutine id action_39 B end subroutine action_40','F',8,'p_F','fort.py',269),
|
||||
('F -> <empty>','F',0,'p_F','fort.py',270),
|
||||
('B -> B S','B',2,'p_B','fort.py',276),
|
||||
('B -> <empty>','B',0,'p_B','fort.py',277),
|
||||
('S -> Dimensional equals EA action_8','S',4,'p_S','fort.py',283),
|
||||
('S -> id parens action_41','S',3,'p_S','fort.py',284),
|
||||
('S -> read RDimensional','S',2,'p_S','fort.py',285),
|
||||
('S -> print RDimOrString','S',2,'p_S','fort.py',286),
|
||||
('S -> if action_16 Relif ElseOrEmpty end if action_20','S',7,'p_S','fort.py',287),
|
||||
('S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do','S',15,'p_S','fort.py',288),
|
||||
('S -> do then action_21 B action_22 end do','S',7,'p_S','fort.py',289),
|
||||
('S -> swap Dimensional coma Dimensional','S',4,'p_S','fort.py',290),
|
||||
('S -> exit action_23','S',2,'p_S','fort.py',291),
|
||||
('Dimensional -> id DimensionsOrEmpty action_1','Dimensional',3,'p_Dimensional','fort.py',299),
|
||||
('DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen','DimensionsOrEmpty',5,'p_DimensionsOrEmpty','fort.py',306),
|
||||
('DimensionsOrEmpty -> <empty>','DimensionsOrEmpty',0,'p_DimensionsOrEmpty','fort.py',307),
|
||||
('ComaEAOrEmpty -> coma EA action_setDim2','ComaEAOrEmpty',3,'p_ComaEAOrEmpty','fort.py',313),
|
||||
('ComaEAOrEmpty -> <empty>','ComaEAOrEmpty',0,'p_ComaEAOrEmpty','fort.py',314),
|
||||
('RDimensional -> Dimensional action_36','RDimensional',2,'p_RDimensional','fort.py',320),
|
||||
('RDimensional -> RDimensional coma Dimensional action_36','RDimensional',4,'p_RDimensional','fort.py',321),
|
||||
('RDimOrString -> DimOrString','RDimOrString',1,'p_RDimOrString','fort.py',327),
|
||||
('RDimOrString -> RDimOrString coma DimOrString','RDimOrString',3,'p_RDimOrString','fort.py',328),
|
||||
('DimOrString -> Dimensional action_33','DimOrString',2,'p_DimOrString','fort.py',334),
|
||||
('DimOrString -> string action_34','DimOrString',2,'p_DimOrString','fort.py',335),
|
||||
('DimOrString -> endline action_34','DimOrString',2,'p_DimOrString','fort.py',336),
|
||||
('Relif -> openParen EL closedParen action_17 then B','Relif',6,'p_Relif','fort.py',342),
|
||||
('Relif -> Relif elif action_18 openParen EL closedParen action_17 then B','Relif',9,'p_Relif','fort.py',343),
|
||||
('ElseOrEmpty -> else action_19 B','ElseOrEmpty',3,'p_ElseOrEmpty','fort.py',349),
|
||||
('ElseOrEmpty -> <empty>','ElseOrEmpty',0,'p_ElseOrEmpty','fort.py',350),
|
||||
('IntOrEmpty -> coma int action_28','IntOrEmpty',3,'p_IntOrEmpty','fort.py',356),
|
||||
('IntOrEmpty -> action_27','IntOrEmpty',1,'p_IntOrEmpty','fort.py',357),
|
||||
('EA -> MultDiv','EA',1,'p_EA','fort.py',363),
|
||||
('EA -> EA SumOrSub action_3 MultDiv action_4','EA',5,'p_EA','fort.py',364),
|
||||
('SumOrSub -> plus','SumOrSub',1,'p_SumOrSub','fort.py',370),
|
||||
('SumOrSub -> minus','SumOrSub',1,'p_SumOrSub','fort.py',371),
|
||||
('MultDiv -> EAParens','MultDiv',1,'p_MultDiv','fort.py',378),
|
||||
('MultDiv -> MultDiv MDSymbols action_5 EAParens action_6','MultDiv',5,'p_MultDiv','fort.py',379),
|
||||
('MDSymbols -> mul','MDSymbols',1,'p_MDSymbols','fort.py',385),
|
||||
('MDSymbols -> div','MDSymbols',1,'p_MDSymbols','fort.py',386),
|
||||
('EAParens -> EItem','EAParens',1,'p_EAParens','fort.py',393),
|
||||
('EAParens -> openParen EA closedParen','EAParens',3,'p_EAParens','fort.py',394),
|
||||
('EL -> AND','EL',1,'p_EL','fort.py',400),
|
||||
('EL -> EL or action_10 AND action_9','EL',5,'p_EL','fort.py',401),
|
||||
('AND -> Equality','AND',1,'p_AND','fort.py',407),
|
||||
('AND -> AND and action_12 Equality action_11','AND',5,'p_AND','fort.py',408),
|
||||
('Equality -> EItem EQSymbols action_13 EItem action_14','Equality',5,'p_Equality','fort.py',414),
|
||||
('Equality -> openParen EL closedParen','Equality',3,'p_Equality','fort.py',415),
|
||||
('Equality -> not EL action_15','Equality',3,'p_Equality','fort.py',416),
|
||||
('EItem -> Dimensional','EItem',1,'p_EItem','fort.py',422),
|
||||
('EItem -> int action_2','EItem',2,'p_EItem','fort.py',423),
|
||||
('EItem -> rea action_2_rea','EItem',2,'p_EItem','fort.py',424),
|
||||
('EQSymbols -> less','EQSymbols',1,'p_EQSymbols','fort.py',430),
|
||||
('EQSymbols -> more','EQSymbols',1,'p_EQSymbols','fort.py',431),
|
||||
('EQSymbols -> doubleEquals','EQSymbols',1,'p_EQSymbols','fort.py',432),
|
||||
('EQSymbols -> notEquals','EQSymbols',1,'p_EQSymbols','fort.py',433),
|
||||
('EQSymbols -> lessEquals','EQSymbols',1,'p_EQSymbols','fort.py',434),
|
||||
('EQSymbols -> moreEquals','EQSymbols',1,'p_EQSymbols','fort.py',435),
|
||||
('action_addSymbols -> <empty>','action_addSymbols',0,'p_action_addSymbols','fort.py',445),
|
||||
('action_1 -> <empty>','action_1',0,'p_action_1','fort.py',451),
|
||||
('action_2 -> <empty>','action_2',0,'p_action_2','fort.py',499),
|
||||
('action_2_rea -> <empty>','action_2_rea',0,'p_action_2_rea','fort.py',505),
|
||||
('action_3 -> <empty>','action_3',0,'p_action_3','fort.py',511),
|
||||
('action_4 -> <empty>','action_4',0,'p_action_4','fort.py',516),
|
||||
('action_5 -> <empty>','action_5',0,'p_action_5','fort.py',539),
|
||||
('action_6 -> <empty>','action_6',0,'p_action_6','fort.py',544),
|
||||
('action_8 -> <empty>','action_8',0,'p_action_8','fort.py',567),
|
||||
('programa -> program action_37 id V F action_38 B end program','programa',9,'p_programa','fort.py',223),
|
||||
('V -> V Tipo Dim doubleColon Rid action_addSymbols action_32','V',7,'p_V','fort.py',230),
|
||||
('V -> <empty>','V',0,'p_V','fort.py',231),
|
||||
('Rid -> id','Rid',1,'p_Rid','fort.py',237),
|
||||
('Rid -> Rid coma id','Rid',3,'p_Rid','fort.py',238),
|
||||
('Tipo -> integer','Tipo',1,'p_Tipo','fort.py',250),
|
||||
('Tipo -> real','Tipo',1,'p_Tipo','fort.py',251),
|
||||
('Dim -> openBra int action_30 closedBra','Dim',4,'p_Dim','fort.py',259),
|
||||
('Dim -> openBra int action_30 closedBra openBra int action_31 closedBra','Dim',8,'p_Dim','fort.py',260),
|
||||
('Dim -> <empty>','Dim',0,'p_Dim','fort.py',261),
|
||||
('F -> F subroutine id action_39 B end subroutine action_40','F',8,'p_F','fort.py',267),
|
||||
('F -> <empty>','F',0,'p_F','fort.py',268),
|
||||
('B -> B S','B',2,'p_B','fort.py',274),
|
||||
('B -> <empty>','B',0,'p_B','fort.py',275),
|
||||
('S -> Dimensional equals EA action_8','S',4,'p_S','fort.py',281),
|
||||
('S -> id parens action_41','S',3,'p_S','fort.py',282),
|
||||
('S -> read RDimensional','S',2,'p_S','fort.py',283),
|
||||
('S -> print RDimOrString','S',2,'p_S','fort.py',284),
|
||||
('S -> if action_16 Relif ElseOrEmpty end if action_20','S',7,'p_S','fort.py',285),
|
||||
('S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do','S',15,'p_S','fort.py',286),
|
||||
('S -> do then action_21 B action_22 end do','S',7,'p_S','fort.py',287),
|
||||
('S -> swap Dimensional coma Dimensional','S',4,'p_S','fort.py',288),
|
||||
('S -> exit action_23','S',2,'p_S','fort.py',289),
|
||||
('Dimensional -> id DimensionsOrEmpty action_1','Dimensional',3,'p_Dimensional','fort.py',297),
|
||||
('DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen','DimensionsOrEmpty',5,'p_DimensionsOrEmpty','fort.py',304),
|
||||
('DimensionsOrEmpty -> <empty>','DimensionsOrEmpty',0,'p_DimensionsOrEmpty','fort.py',305),
|
||||
('ComaEAOrEmpty -> coma EA action_setDim2','ComaEAOrEmpty',3,'p_ComaEAOrEmpty','fort.py',311),
|
||||
('ComaEAOrEmpty -> <empty>','ComaEAOrEmpty',0,'p_ComaEAOrEmpty','fort.py',312),
|
||||
('RDimensional -> Dimensional action_36','RDimensional',2,'p_RDimensional','fort.py',318),
|
||||
('RDimensional -> RDimensional coma Dimensional action_36','RDimensional',4,'p_RDimensional','fort.py',319),
|
||||
('RDimOrString -> DimOrString','RDimOrString',1,'p_RDimOrString','fort.py',325),
|
||||
('RDimOrString -> RDimOrString coma DimOrString','RDimOrString',3,'p_RDimOrString','fort.py',326),
|
||||
('DimOrString -> Dimensional action_33','DimOrString',2,'p_DimOrString','fort.py',332),
|
||||
('DimOrString -> string action_34','DimOrString',2,'p_DimOrString','fort.py',333),
|
||||
('DimOrString -> endline action_34','DimOrString',2,'p_DimOrString','fort.py',334),
|
||||
('Relif -> openParen EL closedParen action_17 then B','Relif',6,'p_Relif','fort.py',340),
|
||||
('Relif -> Relif elif action_18 openParen EL closedParen action_17 then B','Relif',9,'p_Relif','fort.py',341),
|
||||
('ElseOrEmpty -> else action_19 B','ElseOrEmpty',3,'p_ElseOrEmpty','fort.py',347),
|
||||
('ElseOrEmpty -> <empty>','ElseOrEmpty',0,'p_ElseOrEmpty','fort.py',348),
|
||||
('IntOrEmpty -> coma int action_28','IntOrEmpty',3,'p_IntOrEmpty','fort.py',354),
|
||||
('IntOrEmpty -> action_27','IntOrEmpty',1,'p_IntOrEmpty','fort.py',355),
|
||||
('EA -> MultDiv','EA',1,'p_EA','fort.py',361),
|
||||
('EA -> EA SumOrSub action_3 MultDiv action_4','EA',5,'p_EA','fort.py',362),
|
||||
('SumOrSub -> plus','SumOrSub',1,'p_SumOrSub','fort.py',368),
|
||||
('SumOrSub -> minus','SumOrSub',1,'p_SumOrSub','fort.py',369),
|
||||
('MultDiv -> EAParens','MultDiv',1,'p_MultDiv','fort.py',376),
|
||||
('MultDiv -> MultDiv MDSymbols action_5 EAParens action_6','MultDiv',5,'p_MultDiv','fort.py',377),
|
||||
('MDSymbols -> mul','MDSymbols',1,'p_MDSymbols','fort.py',383),
|
||||
('MDSymbols -> div','MDSymbols',1,'p_MDSymbols','fort.py',384),
|
||||
('EAParens -> EItem','EAParens',1,'p_EAParens','fort.py',391),
|
||||
('EAParens -> openParen EA closedParen','EAParens',3,'p_EAParens','fort.py',392),
|
||||
('EL -> AND','EL',1,'p_EL','fort.py',398),
|
||||
('EL -> EL or action_10 AND action_9','EL',5,'p_EL','fort.py',399),
|
||||
('AND -> Equality','AND',1,'p_AND','fort.py',405),
|
||||
('AND -> AND and action_12 Equality action_11','AND',5,'p_AND','fort.py',406),
|
||||
('Equality -> EItem EQSymbols action_13 EItem action_14','Equality',5,'p_Equality','fort.py',412),
|
||||
('Equality -> openParen EL closedParen','Equality',3,'p_Equality','fort.py',413),
|
||||
('Equality -> not EL action_15','Equality',3,'p_Equality','fort.py',414),
|
||||
('EItem -> Dimensional','EItem',1,'p_EItem','fort.py',420),
|
||||
('EItem -> int action_2','EItem',2,'p_EItem','fort.py',421),
|
||||
('EItem -> rea action_2_rea','EItem',2,'p_EItem','fort.py',422),
|
||||
('EQSymbols -> less','EQSymbols',1,'p_EQSymbols','fort.py',428),
|
||||
('EQSymbols -> more','EQSymbols',1,'p_EQSymbols','fort.py',429),
|
||||
('EQSymbols -> doubleEquals','EQSymbols',1,'p_EQSymbols','fort.py',430),
|
||||
('EQSymbols -> notEquals','EQSymbols',1,'p_EQSymbols','fort.py',431),
|
||||
('EQSymbols -> lessEquals','EQSymbols',1,'p_EQSymbols','fort.py',432),
|
||||
('EQSymbols -> moreEquals','EQSymbols',1,'p_EQSymbols','fort.py',433),
|
||||
('action_addSymbols -> <empty>','action_addSymbols',0,'p_action_addSymbols','fort.py',443),
|
||||
('action_1 -> <empty>','action_1',0,'p_action_1','fort.py',449),
|
||||
('action_2 -> <empty>','action_2',0,'p_action_2','fort.py',497),
|
||||
('action_2_rea -> <empty>','action_2_rea',0,'p_action_2_rea','fort.py',503),
|
||||
('action_3 -> <empty>','action_3',0,'p_action_3','fort.py',509),
|
||||
('action_4 -> <empty>','action_4',0,'p_action_4','fort.py',514),
|
||||
('action_5 -> <empty>','action_5',0,'p_action_5','fort.py',537),
|
||||
('action_6 -> <empty>','action_6',0,'p_action_6','fort.py',542),
|
||||
('action_8 -> <empty>','action_8',0,'p_action_8','fort.py',565),
|
||||
('action_9 -> <empty>','action_9',0,'p_action_9','fort.py',585),
|
||||
('action_10 -> <empty>','action_10',0,'p_action_10','fort.py',608),
|
||||
('action_11 -> <empty>','action_11',0,'p_action_11','fort.py',613),
|
||||
|
|
@ -128,13 +128,13 @@ _lr_productions = [
|
|||
('action_31 -> <empty>','action_31',0,'p_action_31','fort.py',863),
|
||||
('action_32 -> <empty>','action_32',0,'p_action_32','fort.py',871),
|
||||
('action_33 -> <empty>','action_33',0,'p_action_33','fort.py',881),
|
||||
('action_34 -> <empty>','action_34',0,'p_action_34','fort.py',890),
|
||||
('action_36 -> <empty>','action_36',0,'p_action_36','fort.py',897),
|
||||
('action_37 -> <empty>','action_37',0,'p_action_37','fort.py',906),
|
||||
('action_38 -> <empty>','action_38',0,'p_action_38','fort.py',913),
|
||||
('action_39 -> <empty>','action_39',0,'p_action_39','fort.py',919),
|
||||
('action_40 -> <empty>','action_40',0,'p_action_40','fort.py',926),
|
||||
('action_41 -> <empty>','action_41',0,'p_action_41','fort.py',933),
|
||||
('action_setDim1 -> <empty>','action_setDim1',0,'p_action_setDim1','fort.py',947),
|
||||
('action_setDim2 -> <empty>','action_setDim2',0,'p_action_setDim2','fort.py',958),
|
||||
('action_34 -> <empty>','action_34',0,'p_action_34','fort.py',893),
|
||||
('action_36 -> <empty>','action_36',0,'p_action_36','fort.py',900),
|
||||
('action_37 -> <empty>','action_37',0,'p_action_37','fort.py',909),
|
||||
('action_38 -> <empty>','action_38',0,'p_action_38','fort.py',916),
|
||||
('action_39 -> <empty>','action_39',0,'p_action_39','fort.py',922),
|
||||
('action_40 -> <empty>','action_40',0,'p_action_40','fort.py',929),
|
||||
('action_41 -> <empty>','action_41',0,'p_action_41','fort.py',936),
|
||||
('action_setDim1 -> <empty>','action_setDim1',0,'p_action_setDim1','fort.py',948),
|
||||
('action_setDim2 -> <empty>','action_setDim2',0,'p_action_setDim2','fort.py',959),
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue