pytest-dsl 0.2.0__py3-none-any.whl → 0.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pytest_dsl/cli.py +111 -12
- pytest_dsl/core/dsl_executor.py +133 -2
- pytest_dsl/core/lexer.py +23 -1
- pytest_dsl/core/parser.py +111 -12
- pytest_dsl/core/parsetab.py +82 -61
- pytest_dsl-0.3.1.dist-info/METADATA +448 -0
- {pytest_dsl-0.2.0.dist-info → pytest_dsl-0.3.1.dist-info}/RECORD +11 -11
- {pytest_dsl-0.2.0.dist-info → pytest_dsl-0.3.1.dist-info}/WHEEL +1 -1
- pytest_dsl-0.2.0.dist-info/METADATA +0 -504
- {pytest_dsl-0.2.0.dist-info → pytest_dsl-0.3.1.dist-info}/entry_points.txt +0 -0
- {pytest_dsl-0.2.0.dist-info → pytest_dsl-0.3.1.dist-info}/licenses/LICENSE +0 -0
- {pytest_dsl-0.2.0.dist-info → pytest_dsl-0.3.1.dist-info}/top_level.txt +0 -0
pytest_dsl/core/parsetab.py
CHANGED
@@ -6,9 +6,9 @@ _tabversion = '3.10'
|
|
6
6
|
|
7
7
|
_lr_method = 'LALR'
|
8
8
|
|
9
|
-
_lr_signature = '
|
9
|
+
_lr_signature = 'leftCOMMAleftGTLTGELEEQNEleftPLUSMINUSleftTIMESDIVIDErightEQUALSAUTHOR_KEYWORD COLON COMMA DATA_KEYWORD DATE DATE_KEYWORD DESCRIPTION_KEYWORD DIVIDE DO ELSE END EQ EQUALS FALSE FOR GE GT ID IF IMPORT_KEYWORD IN KEYWORD_KEYWORD LBRACKET LE LPAREN LT MINUS NAME_KEYWORD NE NUMBER PLACEHOLDER PLUS RANGE RBRACKET RETURN RPAREN STRING TAGS_KEYWORD TEARDOWN_KEYWORD TIMES TRUE USINGstart : metadata statements teardown\n | metadata statements\n | statements teardown\n | statementsmetadata : metadata_items\n | emptyempty :metadata_items : metadata_item metadata_items\n | metadata_itemmetadata_item : NAME_KEYWORD COLON metadata_value\n | DESCRIPTION_KEYWORD COLON metadata_value\n | TAGS_KEYWORD COLON LBRACKET tags RBRACKET\n | AUTHOR_KEYWORD COLON metadata_value\n | DATE_KEYWORD COLON DATE\n | DATA_KEYWORD COLON data_source\n | IMPORT_KEYWORD COLON STRINGmetadata_value : STRING\n | IDtags : tag COMMA tags\n | tagtag : STRING\n | IDstatements : statement statements\n | statementstatement : assignment\n | keyword_call\n | loop\n | custom_keyword\n | return_statement\n | if_statementassignment : ID EQUALS expression\n | ID EQUALS keyword_callexpression : expr_atom\n | comparison_expr\n | arithmetic_exprexpr_atom : NUMBER\n | STRING\n | PLACEHOLDER\n | ID\n | boolean_expr\n | list_expr\n | LPAREN expression RPARENboolean_expr : TRUE\n | FALSElist_expr : LBRACKET list_items RBRACKET\n | LBRACKET RBRACKETlist_items : list_item\n | list_item COMMA list_itemslist_item : expressionloop : FOR ID IN RANGE LPAREN expression COMMA expression RPAREN DO statements ENDkeyword_call : LBRACKET ID RBRACKET COMMA parameter_list\n | LBRACKET ID RBRACKETparameter_list : parameter_itemsparameter_items : parameter_item COMMA parameter_items\n | parameter_itemparameter_item : ID COLON expressionteardown : TEARDOWN_KEYWORD DO statements ENDdata_source : STRING USING IDcustom_keyword : KEYWORD_KEYWORD ID LPAREN param_definitions RPAREN DO statements ENDparam_definitions : param_def_list\n | param_def_list : param_def COMMA param_def_list\n | param_defparam_def : ID EQUALS STRING\n | ID EQUALS NUMBER\n | IDreturn_statement : RETURN expressionif_statement : IF expression DO statements END\n | IF expression DO statements ELSE statements ENDcomparison_expr : expr_atom GT expr_atom\n | expr_atom LT expr_atom\n | expr_atom GE expr_atom\n | expr_atom LE expr_atom\n | expr_atom EQ expr_atom\n | expr_atom NE expr_atomarithmetic_expr : expression PLUS expression\n | expression MINUS expression\n | expression TIMES expression\n | expression DIVIDE expression'
|
10
10
|
|
11
|
-
_lr_action_items = {'
|
11
|
+
_lr_action_items = {'ID':([0,2,4,5,6,7,8,9,10,11,12,13,17,23,24,25,26,31,32,33,36,40,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,70,71,72,73,75,76,77,78,79,80,81,82,83,84,85,88,91,97,98,105,106,107,108,109,110,111,112,113,114,115,116,117,120,121,123,124,125,126,127,130,132,133,135,136,140,143,144,145,147,149,151,153,],[22,22,-5,-6,22,-9,-25,-26,-27,-28,-29,-30,35,41,42,50,50,-8,62,62,62,50,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,50,-43,-44,50,22,-10,-17,-18,-11,96,-52,-13,-14,-15,-16,-31,-32,99,101,50,50,50,50,50,50,50,50,50,50,-46,22,122,126,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,50,-12,96,-51,-53,-55,-58,50,101,-68,22,50,122,22,-56,-54,50,-69,-59,22,-50,]),'LBRACKET':([0,2,4,5,6,7,8,9,10,11,12,13,25,26,31,34,40,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,60,61,62,63,65,66,67,68,70,71,72,73,76,77,78,79,80,81,82,83,84,85,88,91,105,106,107,108,109,110,111,112,113,114,115,116,117,120,123,124,125,126,127,132,133,135,140,143,144,145,147,149,151,153,],[17,17,-5,-6,17,-9,-25,-26,-27,-28,-29,-30,56,56,-8,64,73,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,56,-43,-44,56,17,-10,-17,-18,-11,-52,-13,-14,-15,-16,-31,-32,56,56,56,56,56,56,56,56,56,56,56,-46,17,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,56,-12,-51,-53,-55,-58,56,-68,17,56,17,-56,-54,56,-69,-59,17,-50,]),'FOR':([0,2,4,5,6,7,8,9,10,11,12,13,31,43,44,45,46,47,48,49,50,51,52,54,55,59,60,61,62,63,65,66,67,68,70,71,72,88,91,105,106,107,108,109,110,111,112,113,114,115,116,120,123,124,125,126,132,133,140,143,144,147,149,151,153,],[23,23,-5,-6,23,-9,-25,-26,-27,-28,-29,-30,-8,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,23,-10,-17,-18,-11,-52,-13,-14,-15,-16,-31,-32,-46,23,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,-12,-51,-53,-55,-58,-68,23,23,-56,-54,-69,-59,23,-50,]),'KEYWORD_KEYWORD':([0,2,4,5,6,7,8,9,10,11,12,13,31,43,44,45,46,47,48,49,50,51,52,54,55,59,60,61,62,63,65,66,67,68,70,71,72,88,91,105,106,107,108,109,110,111,112,113,114,115,116,120,123,124,125,126,132,133,140,143,144,147,149,151,153,],[24,24,-5,-6,24,-9,-25,-26,-27,-28,-29,-30,-8,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,24,-10,-17,-18,-11,-52,-13,-14,-15,-16,-31,-32,-46,24,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,-12,-51,-53,-55,-58,-68,24,24,-56,-54,-69,-59,24,-50,]),'RETURN':([0,2,4,5,6,7,8,9,10,11,12,13,31,43,44,45,46,47,48,49,50,51,52,54,55,59,60,61,62,63,65,66,67,68,70,71,72,88,91,105,106,107,108,109,110,111,112,113,114,115,116,120,123,124,125,126,132,133,140,143,144,147,149,151,153,],[25,25,-5,-6,25,-9,-25,-26,-27,-28,-29,-30,-8,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,25,-10,-17,-18,-11,-52,-13,-14,-15,-16,-31,-32,-46,25,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,-12,-51,-53,-55,-58,-68,25,25,-56,-54,-69,-59,25,-50,]),'IF':([0,2,4,5,6,7,8,9,10,11,12,13,31,43,44,45,46,47,48,49,50,51,52,54,55,59,60,61,62,63,65,66,67,68,70,71,72,88,91,105,106,107,108,109,110,111,112,113,114,115,116,120,123,124,125,126,132,133,140,143,144,147,149,151,153,],[26,26,-5,-6,26,-9,-25,-26,-27,-28,-29,-30,-8,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,26,-10,-17,-18,-11,-52,-13,-14,-15,-16,-31,-32,-46,26,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,-12,-51,-53,-55,-58,-68,26,26,-56,-54,-69,-59,26,-50,]),'NAME_KEYWORD':([0,7,60,61,62,63,66,67,68,70,120,126,],[14,14,-10,-17,-18,-11,-13,-14,-15,-16,-12,-58,]),'DESCRIPTION_KEYWORD':([0,7,60,61,62,63,66,67,68,70,120,126,],[15,15,-10,-17,-18,-11,-13,-14,-15,-16,-12,-58,]),'TAGS_KEYWORD':([0,7,60,61,62,63,66,67,68,70,120,126,],[16,16,-10,-17,-18,-11,-13,-14,-15,-16,-12,-58,]),'AUTHOR_KEYWORD':([0,7,60,61,62,63,66,67,68,70,120,126,],[18,18,-10,-17,-18,-11,-13,-14,-15,-16,-12,-58,]),'DATE_KEYWORD':([0,7,60,61,62,63,66,67,68,70,120,126,],[19,19,-10,-17,-18,-11,-13,-14,-15,-16,-12,-58,]),'DATA_KEYWORD':([0,7,60,61,62,63,66,67,68,70,120,126,],[20,20,-10,-17,-18,-11,-13,-14,-15,-16,-12,-58,]),'IMPORT_KEYWORD':([0,7,60,61,62,63,66,67,68,70,120,126,],[21,21,-10,-17,-18,-11,-13,-14,-15,-16,-12,-58,]),'$end':([1,3,6,8,9,10,11,12,13,27,28,30,43,44,45,46,47,48,49,50,51,52,54,55,58,65,71,72,88,105,106,107,108,109,110,111,112,113,114,115,116,119,123,124,125,132,143,144,147,149,153,],[0,-4,-24,-25,-26,-27,-28,-29,-30,-2,-3,-23,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,-1,-52,-31,-32,-46,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,-57,-51,-53,-55,-68,-56,-54,-69,-59,-50,]),'TEARDOWN_KEYWORD':([3,6,8,9,10,11,12,13,27,30,43,44,45,46,47,48,49,50,51,52,54,55,65,71,72,88,105,106,107,108,109,110,111,112,113,114,115,116,123,124,125,132,143,144,147,149,153,],[29,-24,-25,-26,-27,-28,-29,-30,29,-23,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,-52,-31,-32,-46,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,-51,-53,-55,-68,-56,-54,-69,-59,-50,]),'END':([6,8,9,10,11,12,13,30,43,44,45,46,47,48,49,50,51,52,54,55,65,71,72,88,92,105,106,107,108,109,110,111,112,113,114,115,116,118,123,124,125,132,142,143,144,146,147,149,152,153,],[-24,-25,-26,-27,-28,-29,-30,-23,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,-52,-31,-32,-46,119,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,132,-51,-53,-55,-68,147,-56,-54,149,-69,-59,153,-50,]),'ELSE':([6,8,9,10,11,12,13,30,43,44,45,46,47,48,49,50,51,52,54,55,65,71,72,88,105,106,107,108,109,110,111,112,113,114,115,116,118,123,124,125,132,143,144,147,149,153,],[-24,-25,-26,-27,-28,-29,-30,-23,-67,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,-52,-31,-32,-46,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,133,-51,-53,-55,-68,-56,-54,-69,-59,-50,]),'COLON':([14,15,16,18,19,20,21,122,],[32,33,34,36,37,38,39,135,]),'EQUALS':([22,101,],[40,128,]),'NUMBER':([25,26,40,53,56,73,76,77,78,79,80,81,82,83,84,85,117,127,128,135,145,],[47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,139,47,47,]),'STRING':([25,26,32,33,36,38,39,40,53,56,64,73,76,77,78,79,80,81,82,83,84,85,117,121,127,128,135,145,],[48,48,61,61,61,69,70,48,48,48,95,48,48,48,48,48,48,48,48,48,48,48,48,95,48,138,48,48,]),'PLACEHOLDER':([25,26,40,53,56,73,76,77,78,79,80,81,82,83,84,85,117,127,135,145,],[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,]),'LPAREN':([25,26,40,42,53,56,73,76,77,78,79,80,81,82,83,84,85,100,117,127,135,145,],[53,53,53,75,53,53,53,53,53,53,53,53,53,53,53,53,53,127,53,53,53,53,]),'TRUE':([25,26,40,53,56,73,76,77,78,79,80,81,82,83,84,85,117,127,135,145,],[54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,]),'FALSE':([25,26,40,53,56,73,76,77,78,79,80,81,82,83,84,85,117,127,135,145,],[55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,]),'DO':([29,44,45,46,47,48,49,50,51,52,54,55,57,88,105,106,107,108,109,110,111,112,113,114,115,116,129,150,],[59,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,91,-46,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,140,151,]),'RBRACKET':([35,44,45,46,47,48,49,50,51,52,54,55,56,73,87,88,89,90,93,94,95,96,99,105,106,107,108,109,110,111,112,113,114,115,116,131,134,],[65,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,88,88,116,-46,-47,-49,120,-20,-21,-22,65,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,-48,-19,]),'DATE':([37,],[67,]),'IN':([41,],[74,]),'PLUS':([43,44,45,46,47,48,49,50,51,52,54,55,57,71,86,88,90,99,105,106,107,108,109,110,111,112,113,114,115,116,137,143,148,],[76,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,76,76,76,-46,76,-39,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,76,76,76,]),'MINUS':([43,44,45,46,47,48,49,50,51,52,54,55,57,71,86,88,90,99,105,106,107,108,109,110,111,112,113,114,115,116,137,143,148,],[77,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,77,77,77,-46,77,-39,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,77,77,77,]),'TIMES':([43,44,45,46,47,48,49,50,51,52,54,55,57,71,86,88,90,99,105,106,107,108,109,110,111,112,113,114,115,116,137,143,148,],[78,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,78,78,78,-46,78,-39,78,78,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,78,78,78,]),'DIVIDE':([43,44,45,46,47,48,49,50,51,52,54,55,57,71,86,88,90,99,105,106,107,108,109,110,111,112,113,114,115,116,137,143,148,],[79,-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,79,79,79,-46,79,-39,79,79,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,79,79,79,]),'RPAREN':([44,45,46,47,48,49,50,51,52,54,55,75,86,88,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,138,139,141,148,],[-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,-61,115,-46,-66,129,-60,-63,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,-64,-65,-62,150,]),'COMMA':([44,45,46,47,48,49,50,51,52,54,55,65,88,89,90,94,95,96,99,101,104,105,106,107,108,109,110,111,112,113,114,115,116,125,137,138,139,143,],[-33,-34,-35,-36,-37,-38,-39,-40,-41,-43,-44,97,-46,117,-49,121,-21,-22,-39,-66,130,-76,-77,-78,-79,-70,-71,-72,-73,-74,-75,-42,-45,136,145,-64,-65,-56,]),'GT':([44,47,48,49,50,51,52,54,55,88,99,115,116,],[80,-36,-37,-38,-39,-40,-41,-43,-44,-46,-39,-42,-45,]),'LT':([44,47,48,49,50,51,52,54,55,88,99,115,116,],[81,-36,-37,-38,-39,-40,-41,-43,-44,-46,-39,-42,-45,]),'GE':([44,47,48,49,50,51,52,54,55,88,99,115,116,],[82,-36,-37,-38,-39,-40,-41,-43,-44,-46,-39,-42,-45,]),'LE':([44,47,48,49,50,51,52,54,55,88,99,115,116,],[83,-36,-37,-38,-39,-40,-41,-43,-44,-46,-39,-42,-45,]),'EQ':([44,47,48,49,50,51,52,54,55,88,99,115,116,],[84,-36,-37,-38,-39,-40,-41,-43,-44,-46,-39,-42,-45,]),'NE':([44,47,48,49,50,51,52,54,55,88,99,115,116,],[85,-36,-37,-38,-39,-40,-41,-43,-44,-46,-39,-42,-45,]),'USING':([69,],[98,]),'RANGE':([74,],[100,]),}
|
12
12
|
|
13
13
|
_lr_action = {}
|
14
14
|
for _k, _v in _lr_action_items.items():
|
@@ -17,7 +17,7 @@ for _k, _v in _lr_action_items.items():
|
|
17
17
|
_lr_action[_x][_k] = _y
|
18
18
|
del _lr_action_items
|
19
19
|
|
20
|
-
_lr_goto_items = {'start':([0,],[1,]),'metadata':([0,],[2,]),'
|
20
|
+
_lr_goto_items = {'start':([0,],[1,]),'metadata':([0,],[2,]),'statements':([0,2,6,59,91,133,140,151,],[3,27,30,92,118,142,146,152,]),'metadata_items':([0,7,],[4,31,]),'empty':([0,],[5,]),'statement':([0,2,6,59,91,133,140,151,],[6,6,6,6,6,6,6,6,]),'metadata_item':([0,7,],[7,7,]),'assignment':([0,2,6,59,91,133,140,151,],[8,8,8,8,8,8,8,8,]),'keyword_call':([0,2,6,40,59,91,133,140,151,],[9,9,9,72,9,9,9,9,9,]),'loop':([0,2,6,59,91,133,140,151,],[10,10,10,10,10,10,10,10,]),'custom_keyword':([0,2,6,59,91,133,140,151,],[11,11,11,11,11,11,11,11,]),'return_statement':([0,2,6,59,91,133,140,151,],[12,12,12,12,12,12,12,12,]),'if_statement':([0,2,6,59,91,133,140,151,],[13,13,13,13,13,13,13,13,]),'teardown':([3,27,],[28,58,]),'expression':([25,26,40,53,56,73,76,77,78,79,117,127,135,145,],[43,57,71,86,90,90,105,106,107,108,90,137,143,148,]),'expr_atom':([25,26,40,53,56,73,76,77,78,79,80,81,82,83,84,85,117,127,135,145,],[44,44,44,44,44,44,44,44,44,44,109,110,111,112,113,114,44,44,44,44,]),'comparison_expr':([25,26,40,53,56,73,76,77,78,79,117,127,135,145,],[45,45,45,45,45,45,45,45,45,45,45,45,45,45,]),'arithmetic_expr':([25,26,40,53,56,73,76,77,78,79,117,127,135,145,],[46,46,46,46,46,46,46,46,46,46,46,46,46,46,]),'boolean_expr':([25,26,40,53,56,73,76,77,78,79,80,81,82,83,84,85,117,127,135,145,],[51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,]),'list_expr':([25,26,40,53,56,73,76,77,78,79,80,81,82,83,84,85,117,127,135,145,],[52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,]),'metadata_value':([32,33,36,],[60,63,66,]),'data_source':([38,],[68,]),'list_items':([56,73,117,],[87,87,131,]),'list_item':([56,73,117,],[89,89,89,]),'tags':([64,121,],[93,134,]),'tag':([64,121,],[94,94,]),'param_definitions':([75,],[102,]),'param_def_list':([75,130,],[103,141,]),'param_def':([75,130,],[104,104,]),'parameter_list':([97,],[123,]),'parameter_items':([97,136,],[124,144,]),'parameter_item':([97,136,],[125,125,]),}
|
21
21
|
|
22
22
|
_lr_goto = {}
|
23
23
|
for _k, _v in _lr_goto_items.items():
|
@@ -27,62 +27,83 @@ for _k, _v in _lr_goto_items.items():
|
|
27
27
|
del _lr_goto_items
|
28
28
|
_lr_productions = [
|
29
29
|
("S' -> start","S'",1,None,None,None),
|
30
|
-
('start -> metadata statements teardown','start',3,'p_start','parser.py',
|
31
|
-
('start -> metadata statements','start',2,'p_start','parser.py',
|
32
|
-
('
|
33
|
-
('
|
34
|
-
('
|
35
|
-
('
|
36
|
-
('
|
37
|
-
('
|
38
|
-
('
|
39
|
-
('metadata_item ->
|
40
|
-
('metadata_item ->
|
41
|
-
('metadata_item ->
|
42
|
-
('
|
43
|
-
('
|
44
|
-
('
|
45
|
-
('
|
46
|
-
('
|
47
|
-
('
|
48
|
-
('
|
49
|
-
('
|
50
|
-
('
|
51
|
-
('
|
52
|
-
('
|
53
|
-
('
|
54
|
-
('statement ->
|
55
|
-
('
|
56
|
-
('
|
57
|
-
('
|
58
|
-
('
|
59
|
-
('
|
60
|
-
('
|
61
|
-
('
|
62
|
-
('expression ->
|
63
|
-
('
|
64
|
-
('
|
65
|
-
('
|
66
|
-
('
|
67
|
-
('
|
68
|
-
('
|
69
|
-
('
|
70
|
-
('
|
71
|
-
('
|
72
|
-
('
|
73
|
-
('
|
74
|
-
('
|
75
|
-
('
|
76
|
-
('
|
77
|
-
('
|
78
|
-
('
|
79
|
-
('
|
80
|
-
('
|
81
|
-
('
|
82
|
-
('
|
83
|
-
('
|
84
|
-
('
|
85
|
-
('
|
86
|
-
('
|
87
|
-
('
|
30
|
+
('start -> metadata statements teardown','start',3,'p_start','parser.py',23),
|
31
|
+
('start -> metadata statements','start',2,'p_start','parser.py',24),
|
32
|
+
('start -> statements teardown','start',2,'p_start','parser.py',25),
|
33
|
+
('start -> statements','start',1,'p_start','parser.py',26),
|
34
|
+
('metadata -> metadata_items','metadata',1,'p_metadata','parser.py',42),
|
35
|
+
('metadata -> empty','metadata',1,'p_metadata','parser.py',43),
|
36
|
+
('empty -> <empty>','empty',0,'p_empty','parser.py',51),
|
37
|
+
('metadata_items -> metadata_item metadata_items','metadata_items',2,'p_metadata_items','parser.py',56),
|
38
|
+
('metadata_items -> metadata_item','metadata_items',1,'p_metadata_items','parser.py',57),
|
39
|
+
('metadata_item -> NAME_KEYWORD COLON metadata_value','metadata_item',3,'p_metadata_item','parser.py',65),
|
40
|
+
('metadata_item -> DESCRIPTION_KEYWORD COLON metadata_value','metadata_item',3,'p_metadata_item','parser.py',66),
|
41
|
+
('metadata_item -> TAGS_KEYWORD COLON LBRACKET tags RBRACKET','metadata_item',5,'p_metadata_item','parser.py',67),
|
42
|
+
('metadata_item -> AUTHOR_KEYWORD COLON metadata_value','metadata_item',3,'p_metadata_item','parser.py',68),
|
43
|
+
('metadata_item -> DATE_KEYWORD COLON DATE','metadata_item',3,'p_metadata_item','parser.py',69),
|
44
|
+
('metadata_item -> DATA_KEYWORD COLON data_source','metadata_item',3,'p_metadata_item','parser.py',70),
|
45
|
+
('metadata_item -> IMPORT_KEYWORD COLON STRING','metadata_item',3,'p_metadata_item','parser.py',71),
|
46
|
+
('metadata_value -> STRING','metadata_value',1,'p_metadata_value','parser.py',85),
|
47
|
+
('metadata_value -> ID','metadata_value',1,'p_metadata_value','parser.py',86),
|
48
|
+
('tags -> tag COMMA tags','tags',3,'p_tags','parser.py',91),
|
49
|
+
('tags -> tag','tags',1,'p_tags','parser.py',92),
|
50
|
+
('tag -> STRING','tag',1,'p_tag','parser.py',100),
|
51
|
+
('tag -> ID','tag',1,'p_tag','parser.py',101),
|
52
|
+
('statements -> statement statements','statements',2,'p_statements','parser.py',106),
|
53
|
+
('statements -> statement','statements',1,'p_statements','parser.py',107),
|
54
|
+
('statement -> assignment','statement',1,'p_statement','parser.py',115),
|
55
|
+
('statement -> keyword_call','statement',1,'p_statement','parser.py',116),
|
56
|
+
('statement -> loop','statement',1,'p_statement','parser.py',117),
|
57
|
+
('statement -> custom_keyword','statement',1,'p_statement','parser.py',118),
|
58
|
+
('statement -> return_statement','statement',1,'p_statement','parser.py',119),
|
59
|
+
('statement -> if_statement','statement',1,'p_statement','parser.py',120),
|
60
|
+
('assignment -> ID EQUALS expression','assignment',3,'p_assignment','parser.py',125),
|
61
|
+
('assignment -> ID EQUALS keyword_call','assignment',3,'p_assignment','parser.py',126),
|
62
|
+
('expression -> expr_atom','expression',1,'p_expression','parser.py',134),
|
63
|
+
('expression -> comparison_expr','expression',1,'p_expression','parser.py',135),
|
64
|
+
('expression -> arithmetic_expr','expression',1,'p_expression','parser.py',136),
|
65
|
+
('expr_atom -> NUMBER','expr_atom',1,'p_expr_atom','parser.py',145),
|
66
|
+
('expr_atom -> STRING','expr_atom',1,'p_expr_atom','parser.py',146),
|
67
|
+
('expr_atom -> PLACEHOLDER','expr_atom',1,'p_expr_atom','parser.py',147),
|
68
|
+
('expr_atom -> ID','expr_atom',1,'p_expr_atom','parser.py',148),
|
69
|
+
('expr_atom -> boolean_expr','expr_atom',1,'p_expr_atom','parser.py',149),
|
70
|
+
('expr_atom -> list_expr','expr_atom',1,'p_expr_atom','parser.py',150),
|
71
|
+
('expr_atom -> LPAREN expression RPAREN','expr_atom',3,'p_expr_atom','parser.py',151),
|
72
|
+
('boolean_expr -> TRUE','boolean_expr',1,'p_boolean_expr','parser.py',162),
|
73
|
+
('boolean_expr -> FALSE','boolean_expr',1,'p_boolean_expr','parser.py',163),
|
74
|
+
('list_expr -> LBRACKET list_items RBRACKET','list_expr',3,'p_list_expr','parser.py',168),
|
75
|
+
('list_expr -> LBRACKET RBRACKET','list_expr',2,'p_list_expr','parser.py',169),
|
76
|
+
('list_items -> list_item','list_items',1,'p_list_items','parser.py',177),
|
77
|
+
('list_items -> list_item COMMA list_items','list_items',3,'p_list_items','parser.py',178),
|
78
|
+
('list_item -> expression','list_item',1,'p_list_item','parser.py',186),
|
79
|
+
('loop -> FOR ID IN RANGE LPAREN expression COMMA expression RPAREN DO statements END','loop',12,'p_loop','parser.py',191),
|
80
|
+
('keyword_call -> LBRACKET ID RBRACKET COMMA parameter_list','keyword_call',5,'p_keyword_call','parser.py',196),
|
81
|
+
('keyword_call -> LBRACKET ID RBRACKET','keyword_call',3,'p_keyword_call','parser.py',197),
|
82
|
+
('parameter_list -> parameter_items','parameter_list',1,'p_parameter_list','parser.py',205),
|
83
|
+
('parameter_items -> parameter_item COMMA parameter_items','parameter_items',3,'p_parameter_items','parser.py',210),
|
84
|
+
('parameter_items -> parameter_item','parameter_items',1,'p_parameter_items','parser.py',211),
|
85
|
+
('parameter_item -> ID COLON expression','parameter_item',3,'p_parameter_item','parser.py',219),
|
86
|
+
('teardown -> TEARDOWN_KEYWORD DO statements END','teardown',4,'p_teardown','parser.py',224),
|
87
|
+
('data_source -> STRING USING ID','data_source',3,'p_data_source','parser.py',229),
|
88
|
+
('custom_keyword -> KEYWORD_KEYWORD ID LPAREN param_definitions RPAREN DO statements END','custom_keyword',8,'p_custom_keyword','parser.py',234),
|
89
|
+
('param_definitions -> param_def_list','param_definitions',1,'p_param_definitions','parser.py',239),
|
90
|
+
('param_definitions -> <empty>','param_definitions',0,'p_param_definitions','parser.py',240),
|
91
|
+
('param_def_list -> param_def COMMA param_def_list','param_def_list',3,'p_param_def_list','parser.py',248),
|
92
|
+
('param_def_list -> param_def','param_def_list',1,'p_param_def_list','parser.py',249),
|
93
|
+
('param_def -> ID EQUALS STRING','param_def',3,'p_param_def','parser.py',257),
|
94
|
+
('param_def -> ID EQUALS NUMBER','param_def',3,'p_param_def','parser.py',258),
|
95
|
+
('param_def -> ID','param_def',1,'p_param_def','parser.py',259),
|
96
|
+
('return_statement -> RETURN expression','return_statement',2,'p_return_statement','parser.py',267),
|
97
|
+
('if_statement -> IF expression DO statements END','if_statement',5,'p_if_statement','parser.py',272),
|
98
|
+
('if_statement -> IF expression DO statements ELSE statements END','if_statement',7,'p_if_statement','parser.py',273),
|
99
|
+
('comparison_expr -> expr_atom GT expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',281),
|
100
|
+
('comparison_expr -> expr_atom LT expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',282),
|
101
|
+
('comparison_expr -> expr_atom GE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',283),
|
102
|
+
('comparison_expr -> expr_atom LE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',284),
|
103
|
+
('comparison_expr -> expr_atom EQ expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',285),
|
104
|
+
('comparison_expr -> expr_atom NE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',286),
|
105
|
+
('arithmetic_expr -> expression PLUS expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',309),
|
106
|
+
('arithmetic_expr -> expression MINUS expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',310),
|
107
|
+
('arithmetic_expr -> expression TIMES expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',311),
|
108
|
+
('arithmetic_expr -> expression DIVIDE expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',312),
|
88
109
|
]
|