pytest-dsl 0.12.0__py3-none-any.whl → 0.13.0__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 +25 -2
- pytest_dsl/core/custom_keyword_manager.py +136 -0
- pytest_dsl/core/dsl_executor.py +37 -0
- pytest_dsl/core/http_request.py +135 -61
- pytest_dsl/core/parser.py +7 -2
- pytest_dsl/core/parsetab.py +90 -89
- pytest_dsl/examples/http/http_example.auto +1 -1
- pytest_dsl/examples/http/http_retry_assertions.auto +4 -4
- pytest_dsl/examples/http/http_retry_assertions_enhanced.auto +2 -2
- pytest_dsl/examples/http/new_retry_test.auto +1 -1
- pytest_dsl/examples/http/retry_assertions_only.auto +3 -3
- pytest_dsl/examples/http/retry_config_only.auto +3 -3
- pytest_dsl/examples/http/retry_debug.auto +19 -8
- pytest_dsl/examples/http/retry_with_fix.auto +1 -1
- pytest_dsl/keywords/http_keywords.py +42 -14
- pytest_dsl/plugin.py +22 -4
- {pytest_dsl-0.12.0.dist-info → pytest_dsl-0.13.0.dist-info}/METADATA +1 -1
- {pytest_dsl-0.12.0.dist-info → pytest_dsl-0.13.0.dist-info}/RECORD +22 -22
- {pytest_dsl-0.12.0.dist-info → pytest_dsl-0.13.0.dist-info}/WHEEL +0 -0
- {pytest_dsl-0.12.0.dist-info → pytest_dsl-0.13.0.dist-info}/entry_points.txt +0 -0
- {pytest_dsl-0.12.0.dist-info → pytest_dsl-0.13.0.dist-info}/licenses/LICENSE +0 -0
- {pytest_dsl-0.12.0.dist-info → pytest_dsl-0.13.0.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 = 'leftCOMMAleftGTLTGELEEQNEleftPLUSMINUSleftTIMESDIVIDEMODULOrightEQUALSAS AUTHOR_KEYWORD BREAK COLON COMMA CONTINUE DATA_KEYWORD DATE DATE_KEYWORD DESCRIPTION_KEYWORD DIVIDE DO ELIF ELSE END EQ EQUALS FALSE FOR FUNCTION GE GT ID IF IMPORT_KEYWORD IN LBRACE LBRACKET LE LPAREN LT MINUS MODULO NAME_KEYWORD NE NUMBER PIPE PLACEHOLDER PLUS RANGE RBRACE RBRACKET REMOTE_KEYWORD RETURN RPAREN STRING TAGS_KEYWORD TEARDOWN 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 STRING\n | REMOTE_KEYWORD COLON STRING AS IDmetadata_value : STRING\n | IDtags : tag COMMA tags\n | tagtag : STRING\n | IDstatements : statement statements\n | statementstatement : assignment\n | keyword_call\n | remote_keyword_call\n | loop\n | custom_keyword\n | return_statement\n | if_statement\n | break_statement\n | continue_statementassignment : ID EQUALS expression\n | ID EQUALS keyword_call\n | ID EQUALS remote_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 | dict_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 : expressiondict_expr : LBRACE dict_items RBRACE\n | LBRACE RBRACEdict_items : dict_item\n | dict_item COMMA dict_itemsdict_item : expression COLON 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 DO statements ENDdata_source : STRING USING IDcustom_keyword : FUNCTION 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 expressionbreak_statement : BREAKcontinue_statement : CONTINUEif_statement : IF expression DO statements END\n | IF expression DO statements elif_clauses END\n | IF expression DO statements ELSE statements END\n | IF expression DO statements elif_clauses ELSE statements ENDelif_clauses : elif_clause\n | elif_clause elif_clauseselif_clause : ELIF expression DO statementscomparison_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\n | expression MODULO expressionremote_keyword_call : ID PIPE LBRACKET ID RBRACKET COMMA parameter_list\n | ID PIPE LBRACKET ID RBRACKET'
|
9
|
+
_lr_signature = 'leftCOMMAleftGTLTGELEEQNEleftPLUSMINUSleftTIMESDIVIDEMODULOrightEQUALSAS AUTHOR_KEYWORD BREAK COLON COMMA CONTINUE DATA_KEYWORD DATE DATE_KEYWORD DESCRIPTION_KEYWORD DIVIDE DO ELIF ELSE END EQ EQUALS FALSE FOR FUNCTION GE GT ID IF IMPORT_KEYWORD IN LBRACE LBRACKET LE LPAREN LT MINUS MODULO NAME_KEYWORD NE NUMBER PIPE PLACEHOLDER PLUS RANGE RBRACE RBRACKET REMOTE_KEYWORD RETURN RPAREN STRING TAGS_KEYWORD TEARDOWN 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 | DATE_KEYWORD COLON STRING\n | DATA_KEYWORD COLON data_source\n | IMPORT_KEYWORD COLON STRING\n | REMOTE_KEYWORD COLON STRING AS IDmetadata_value : STRING\n | IDtags : tag COMMA tags\n | tagtag : STRING\n | IDstatements : statement statements\n | statementstatement : assignment\n | keyword_call\n | remote_keyword_call\n | loop\n | custom_keyword\n | return_statement\n | if_statement\n | break_statement\n | continue_statementassignment : ID EQUALS expression\n | ID EQUALS keyword_call\n | ID EQUALS remote_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 | dict_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 : expressiondict_expr : LBRACE dict_items RBRACE\n | LBRACE RBRACEdict_items : dict_item\n | dict_item COMMA dict_itemsdict_item : expression COLON 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 DO statements ENDdata_source : STRING USING IDcustom_keyword : FUNCTION 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 expressionbreak_statement : BREAKcontinue_statement : CONTINUEif_statement : IF expression DO statements END\n | IF expression DO statements elif_clauses END\n | IF expression DO statements ELSE statements END\n | IF expression DO statements elif_clauses ELSE statements ENDelif_clauses : elif_clause\n | elif_clause elif_clauseselif_clause : ELIF expression DO statementscomparison_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\n | expression MODULO expressionremote_keyword_call : ID PIPE LBRACKET ID RBRACKET COMMA parameter_list\n | ID PIPE LBRACKET ID RBRACKET'
|
10
10
|
|
11
|
-
_lr_action_items = {'ID':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,20,27,28,29,30,31,32,37,38,39,42,47,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,103,107,110,116,117,118,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,145,146,148,149,150,151,152,153,154,157,161,163,165,167,168,169,173,175,176,180,181,182,183,186,187,189,190,193,195,],[26,26,-5,-6,26,-9,-26,-27,-28,-29,-30,-31,-32,-33,-34,41,49,50,58,58,-79,-80,-8,72,72,72,82,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,58,-49,-50,58,58,26,-10,-18,-19,-11,115,-63,-13,-14,-15,-16,-44,-35,-36,-37,119,120,122,58,58,58,58,58,58,58,58,58,58,58,-52,-57,26,147,151,152,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,58,-56,58,58,-12,115,-62,-64,-66,-69,-17,-100,58,122,-81,26,58,58,147,147,26,-82,26,-67,-65,-99,58,-83,26,-70,-84,26,-61,]),'LBRACKET':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,29,30,31,32,37,40,47,48,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,69,70,71,72,73,75,76,77,78,80,82,83,84,85,86,90,91,92,93,94,95,96,97,98,99,100,103,107,110,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,145,148,149,150,151,152,153,154,161,163,165,167,173,175,176,180,181,182,183,186,187,189,190,193,195,],[20,20,-5,-6,20,-9,-26,-27,-28,-29,-30,-31,-32,-33,-34,65,65,-79,-80,-8,74,86,87,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,65,-49,-50,65,65,20,-10,-18,-19,-11,-63,-13,-14,-15,-16,-44,-35,-36,-37,65,65,65,65,65,65,65,65,65,65,65,65,-52,-57,20,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,65,-56,65,65,-12,-62,-64,-66,-69,-17,-100,65,-81,20,65,65,20,-82,20,-67,-65,-99,65,-83,20,-70,-84,20,-61,]),'FOR':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,80,82,83,84,85,103,107,110,126,127,128,129,130,131,132,133,134,135,136,137,138,140,145,148,149,150,151,152,153,161,163,173,175,176,180,181,182,186,187,189,190,193,195,],[27,27,-5,-6,27,-9,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-8,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,27,-10,-18,-19,-11,-63,-13,-14,-15,-16,-44,-35,-36,-37,-52,-57,27,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-12,-62,-64,-66,-69,-17,-100,-81,27,27,-82,27,-67,-65,-99,-83,27,-70,-84,27,-61,]),'FUNCTION':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,80,82,83,84,85,103,107,110,126,127,128,129,130,131,132,133,134,135,136,137,138,140,145,148,149,150,151,152,153,161,163,173,175,176,180,181,182,186,187,189,190,193,195,],[28,28,-5,-6,28,-9,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-8,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,28,-10,-18,-19,-11,-63,-13,-14,-15,-16,-44,-35,-36,-37,-52,-57,28,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-12,-62,-64,-66,-69,-17,-100,-81,28,28,-82,28,-67,-65,-99,-83,28,-70,-84,28,-61,]),'RETURN':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,80,82,83,84,85,103,107,110,126,127,128,129,130,131,132,133,134,135,136,137,138,140,145,148,149,150,151,152,153,161,163,173,175,176,180,181,182,186,187,189,190,193,195,],[29,29,-5,-6,29,-9,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-8,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,29,-10,-18,-19,-11,-63,-13,-14,-15,-16,-44,-35,-36,-37,-52,-57,29,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-12,-62,-64,-66,-69,-17,-100,-81,29,29,-82,29,-67,-65,-99,-83,29,-70,-84,29,-61,]),'IF':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,80,82,83,84,85,103,107,110,126,127,128,129,130,131,132,133,134,135,136,137,138,140,145,148,149,150,151,152,153,161,163,173,175,176,180,181,182,186,187,189,190,193,195,],[30,30,-5,-6,30,-9,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-8,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,30,-10,-18,-19,-11,-63,-13,-14,-15,-16,-44,-35,-36,-37,-52,-57,30,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-12,-62,-64,-66,-69,-17,-100,-81,30,30,-82,30,-67,-65,-99,-83,30,-70,-84,30,-61,]),'BREAK':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,80,82,83,84,85,103,107,110,126,127,128,129,130,131,132,133,134,135,136,137,138,140,145,148,149,150,151,152,153,161,163,173,175,176,180,181,182,186,187,189,190,193,195,],[31,31,-5,-6,31,-9,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-8,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,31,-10,-18,-19,-11,-63,-13,-14,-15,-16,-44,-35,-36,-37,-52,-57,31,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-12,-62,-64,-66,-69,-17,-100,-81,31,31,-82,31,-67,-65,-99,-83,31,-70,-84,31,-61,]),'CONTINUE':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,80,82,83,84,85,103,107,110,126,127,128,129,130,131,132,133,134,135,136,137,138,140,145,148,149,150,151,152,153,161,163,173,175,176,180,181,182,186,187,189,190,193,195,],[32,32,-5,-6,32,-9,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-8,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,32,-10,-18,-19,-11,-63,-13,-14,-15,-16,-44,-35,-36,-37,-52,-57,32,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-12,-62,-64,-66,-69,-17,-100,-81,32,32,-82,32,-67,-65,-99,-83,32,-70,-84,32,-61,]),'NAME_KEYWORD':([0,7,70,71,72,73,76,77,78,80,145,151,152,],[17,17,-10,-18,-19,-11,-13,-14,-15,-16,-12,-69,-17,]),'DESCRIPTION_KEYWORD':([0,7,70,71,72,73,76,77,78,80,145,151,152,],[18,18,-10,-18,-19,-11,-13,-14,-15,-16,-12,-69,-17,]),'TAGS_KEYWORD':([0,7,70,71,72,73,76,77,78,80,145,151,152,],[19,19,-10,-18,-19,-11,-13,-14,-15,-16,-12,-69,-17,]),'AUTHOR_KEYWORD':([0,7,70,71,72,73,76,77,78,80,145,151,152,],[21,21,-10,-18,-19,-11,-13,-14,-15,-16,-12,-69,-17,]),'DATE_KEYWORD':([0,7,70,71,72,73,76,77,78,80,145,151,152,],[22,22,-10,-18,-19,-11,-13,-14,-15,-16,-12,-69,-17,]),'DATA_KEYWORD':([0,7,70,71,72,73,76,77,78,80,145,151,152,],[23,23,-10,-18,-19,-11,-13,-14,-15,-16,-12,-69,-17,]),'IMPORT_KEYWORD':([0,7,70,71,72,73,76,77,78,80,145,151,152,],[24,24,-10,-18,-19,-11,-13,-14,-15,-16,-12,-69,-17,]),'REMOTE_KEYWORD':([0,7,70,71,72,73,76,77,78,80,145,151,152,],[25,25,-10,-18,-19,-11,-13,-14,-15,-16,-12,-69,-17,]),'$end':([1,3,6,8,9,10,11,12,13,14,15,16,31,32,33,34,36,51,52,53,54,55,56,57,58,59,60,61,63,64,68,75,82,83,84,85,103,107,126,127,128,129,130,131,132,133,134,135,136,137,138,140,144,148,149,150,153,161,175,180,181,182,186,189,190,195,],[0,-4,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-2,-3,-24,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,-1,-63,-44,-35,-36,-37,-52,-57,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-68,-62,-64,-66,-100,-81,-82,-67,-65,-99,-83,-70,-84,-61,]),'TEARDOWN':([3,6,8,9,10,11,12,13,14,15,16,31,32,33,36,51,52,53,54,55,56,57,58,59,60,61,63,64,75,82,83,84,85,103,107,126,127,128,129,130,131,132,133,134,135,136,137,138,140,148,149,150,153,161,175,180,181,182,186,189,190,195,],[35,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,35,-24,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,-63,-44,-35,-36,-37,-52,-57,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-62,-64,-66,-100,-81,-82,-67,-65,-99,-83,-70,-84,-61,]),'END':([6,8,9,10,11,12,13,14,15,16,31,32,36,51,52,53,54,55,56,57,58,59,60,61,63,64,75,82,83,84,85,103,107,111,126,127,128,129,130,131,132,133,134,135,136,137,138,140,143,148,149,150,153,161,162,164,175,177,178,180,181,182,184,185,186,189,190,191,194,195,],[-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-24,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,-63,-44,-35,-36,-37,-52,-57,144,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,161,-62,-64,-66,-100,-81,175,-85,-82,186,-86,-67,-65,-99,189,190,-83,-70,-84,-87,195,-61,]),'ELSE':([6,8,9,10,11,12,13,14,15,16,31,32,36,51,52,53,54,55,56,57,58,59,60,61,63,64,75,82,83,84,85,103,107,126,127,128,129,130,131,132,133,134,135,136,137,138,140,143,148,149,150,153,161,162,164,175,178,180,181,182,186,189,190,191,195,],[-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-24,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,-63,-44,-35,-36,-37,-52,-57,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,163,-62,-64,-66,-100,-81,176,-85,-82,-86,-67,-65,-99,-83,-70,-84,-87,-61,]),'ELIF':([6,8,9,10,11,12,13,14,15,16,31,32,36,51,52,53,54,55,56,57,58,59,60,61,63,64,75,82,83,84,85,103,107,126,127,128,129,130,131,132,133,134,135,136,137,138,140,143,148,149,150,153,161,164,175,180,181,182,186,189,190,191,195,],[-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-79,-80,-24,-78,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,-63,-44,-35,-36,-37,-52,-57,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,165,-62,-64,-66,-100,-81,165,-82,-67,-65,-99,-83,-70,-84,-87,-61,]),'COLON':([17,18,19,21,22,23,24,25,52,53,54,55,56,57,58,59,60,61,63,64,103,107,109,126,127,128,129,130,131,132,133,134,135,136,137,138,140,147,],[38,39,40,42,43,44,45,46,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,-52,-57,142,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,167,]),'EQUALS':([26,122,],[47,155,]),'PIPE':([26,82,],[48,48,]),'NUMBER':([29,30,47,62,65,66,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,154,155,165,167,183,],[55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,172,55,55,55,]),'STRING':([29,30,38,39,42,44,45,46,47,62,65,66,74,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,146,154,155,165,167,183,],[56,56,71,71,71,79,80,81,56,56,56,56,114,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,114,56,171,56,56,56,]),'PLACEHOLDER':([29,30,47,62,65,66,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,154,165,167,183,],[57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,]),'LPAREN':([29,30,47,50,62,65,66,86,90,91,92,93,94,95,96,97,98,99,100,121,139,141,142,154,165,167,183,],[62,62,62,89,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,154,62,62,62,62,62,62,62,]),'TRUE':([29,30,47,62,65,66,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,154,165,167,183,],[63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,]),'FALSE':([29,30,47,62,65,66,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,154,165,167,183,],[64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,]),'LBRACE':([29,30,47,62,65,66,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,154,165,167,183,],[66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,]),'DO':([35,52,53,54,55,56,57,58,59,60,61,63,64,67,103,107,126,127,128,129,130,131,132,133,134,135,136,137,138,140,156,179,192,],[69,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,110,-52,-57,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,173,187,193,]),'RBRACKET':([41,52,53,54,55,56,57,58,59,60,61,63,64,65,86,102,103,104,105,107,112,113,114,115,119,120,126,127,128,129,130,131,132,133,134,135,136,137,138,140,158,166,],[75,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,103,103,138,-52,-53,-55,-57,145,-21,-22,-23,75,153,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-54,-20,]),'DATE':([43,],[77,]),'IN':([49,],[88,]),'PLUS':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,82,83,101,103,105,107,109,119,126,127,128,129,130,131,132,133,134,135,136,137,138,140,160,170,179,180,188,],[90,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,90,-44,90,90,-52,90,-57,90,-44,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,90,90,90,90,90,]),'MINUS':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,82,83,101,103,105,107,109,119,126,127,128,129,130,131,132,133,134,135,136,137,138,140,160,170,179,180,188,],[91,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,91,-44,91,91,-52,91,-57,91,-44,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,91,91,91,91,91,]),'TIMES':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,82,83,101,103,105,107,109,119,126,127,128,129,130,131,132,133,134,135,136,137,138,140,160,170,179,180,188,],[92,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,92,-44,92,92,-52,92,-57,92,-44,92,92,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,92,92,92,92,92,]),'DIVIDE':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,82,83,101,103,105,107,109,119,126,127,128,129,130,131,132,133,134,135,136,137,138,140,160,170,179,180,188,],[93,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,93,-44,93,93,-52,93,-57,93,-44,93,93,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,93,93,93,93,93,]),'MODULO':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,82,83,101,103,105,107,109,119,126,127,128,129,130,131,132,133,134,135,136,137,138,140,160,170,179,180,188,],[94,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,94,-44,94,94,-52,94,-57,94,-44,94,94,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,94,94,94,94,94,]),'RPAREN':([52,53,54,55,56,57,58,59,60,61,63,64,89,101,103,107,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,171,172,174,188,],[-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,-72,137,-52,-57,-77,156,-71,-74,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-75,-76,-73,192,]),'COMMA':([52,53,54,55,56,57,58,59,60,61,63,64,75,103,104,105,107,108,113,114,115,119,122,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,150,153,160,170,171,172,180,],[-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,116,-52,139,-55,-57,141,146,-22,-23,-44,-77,157,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,168,169,-60,183,-75,-76,-67,]),'RBRACE':([52,53,54,55,56,57,58,59,60,61,63,64,66,103,106,107,108,126,127,128,129,130,131,132,133,134,135,136,137,138,140,159,160,],[-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-49,-50,107,-52,140,-57,-58,-94,-95,-96,-97,-98,-88,-89,-90,-91,-92,-93,-48,-51,-56,-59,-60,]),'GT':([52,55,56,57,58,59,60,61,63,64,82,103,107,119,137,138,140,],[95,-41,-42,-43,-44,-45,-46,-47,-49,-50,-44,-52,-57,-44,-48,-51,-56,]),'LT':([52,55,56,57,58,59,60,61,63,64,82,103,107,119,137,138,140,],[96,-41,-42,-43,-44,-45,-46,-47,-49,-50,-44,-52,-57,-44,-48,-51,-56,]),'GE':([52,55,56,57,58,59,60,61,63,64,82,103,107,119,137,138,140,],[97,-41,-42,-43,-44,-45,-46,-47,-49,-50,-44,-52,-57,-44,-48,-51,-56,]),'LE':([52,55,56,57,58,59,60,61,63,64,82,103,107,119,137,138,140,],[98,-41,-42,-43,-44,-45,-46,-47,-49,-50,-44,-52,-57,-44,-48,-51,-56,]),'EQ':([52,55,56,57,58,59,60,61,63,64,82,103,107,119,137,138,140,],[99,-41,-42,-43,-44,-45,-46,-47,-49,-50,-44,-52,-57,-44,-48,-51,-56,]),'NE':([52,55,56,57,58,59,60,61,63,64,82,103,107,119,137,138,140,],[100,-41,-42,-43,-44,-45,-46,-47,-49,-50,-44,-52,-57,-44,-48,-51,-56,]),'USING':([79,],[117,]),'AS':([81,],[118,]),'RANGE':([88,],[121,]),}
|
11
|
+
_lr_action_items = {'ID':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,20,27,28,29,30,31,32,37,38,39,42,47,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,69,70,71,72,73,74,75,76,77,78,79,81,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,104,108,111,117,118,119,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,146,147,149,150,151,152,153,154,155,158,162,164,166,168,169,170,174,176,177,181,182,183,184,187,188,190,191,194,196,],[26,26,-5,-6,26,-9,-27,-28,-29,-30,-31,-32,-33,-34,-35,41,49,50,58,58,-80,-81,-8,72,72,72,83,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,58,-50,-51,58,58,26,-10,-19,-20,-11,116,-64,-13,-14,-15,-16,-17,-45,-36,-37,-38,120,121,123,58,58,58,58,58,58,58,58,58,58,58,-53,-58,26,148,152,153,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,58,-57,58,58,-12,116,-63,-65,-67,-70,-18,-101,58,123,-82,26,58,58,148,148,26,-83,26,-68,-66,-100,58,-84,26,-71,-85,26,-62,]),'LBRACKET':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,29,30,31,32,37,40,47,48,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,69,70,71,72,73,75,76,77,78,79,81,83,84,85,86,87,91,92,93,94,95,96,97,98,99,100,101,104,108,111,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,146,149,150,151,152,153,154,155,162,164,166,168,174,176,177,181,182,183,184,187,188,190,191,194,196,],[20,20,-5,-6,20,-9,-27,-28,-29,-30,-31,-32,-33,-34,-35,65,65,-80,-81,-8,74,87,88,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,65,-50,-51,65,65,20,-10,-19,-20,-11,-64,-13,-14,-15,-16,-17,-45,-36,-37,-38,65,65,65,65,65,65,65,65,65,65,65,65,-53,-58,20,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,65,-57,65,65,-12,-63,-65,-67,-70,-18,-101,65,-82,20,65,65,20,-83,20,-68,-66,-100,65,-84,20,-71,-85,20,-62,]),'FOR':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,79,81,83,84,85,86,104,108,111,127,128,129,130,131,132,133,134,135,136,137,138,139,141,146,149,150,151,152,153,154,162,164,174,176,177,181,182,183,187,188,190,191,194,196,],[27,27,-5,-6,27,-9,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-8,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,27,-10,-19,-20,-11,-64,-13,-14,-15,-16,-17,-45,-36,-37,-38,-53,-58,27,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-12,-63,-65,-67,-70,-18,-101,-82,27,27,-83,27,-68,-66,-100,-84,27,-71,-85,27,-62,]),'FUNCTION':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,79,81,83,84,85,86,104,108,111,127,128,129,130,131,132,133,134,135,136,137,138,139,141,146,149,150,151,152,153,154,162,164,174,176,177,181,182,183,187,188,190,191,194,196,],[28,28,-5,-6,28,-9,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-8,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,28,-10,-19,-20,-11,-64,-13,-14,-15,-16,-17,-45,-36,-37,-38,-53,-58,28,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-12,-63,-65,-67,-70,-18,-101,-82,28,28,-83,28,-68,-66,-100,-84,28,-71,-85,28,-62,]),'RETURN':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,79,81,83,84,85,86,104,108,111,127,128,129,130,131,132,133,134,135,136,137,138,139,141,146,149,150,151,152,153,154,162,164,174,176,177,181,182,183,187,188,190,191,194,196,],[29,29,-5,-6,29,-9,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-8,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,29,-10,-19,-20,-11,-64,-13,-14,-15,-16,-17,-45,-36,-37,-38,-53,-58,29,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-12,-63,-65,-67,-70,-18,-101,-82,29,29,-83,29,-68,-66,-100,-84,29,-71,-85,29,-62,]),'IF':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,79,81,83,84,85,86,104,108,111,127,128,129,130,131,132,133,134,135,136,137,138,139,141,146,149,150,151,152,153,154,162,164,174,176,177,181,182,183,187,188,190,191,194,196,],[30,30,-5,-6,30,-9,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-8,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,30,-10,-19,-20,-11,-64,-13,-14,-15,-16,-17,-45,-36,-37,-38,-53,-58,30,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-12,-63,-65,-67,-70,-18,-101,-82,30,30,-83,30,-68,-66,-100,-84,30,-71,-85,30,-62,]),'BREAK':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,79,81,83,84,85,86,104,108,111,127,128,129,130,131,132,133,134,135,136,137,138,139,141,146,149,150,151,152,153,154,162,164,174,176,177,181,182,183,187,188,190,191,194,196,],[31,31,-5,-6,31,-9,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-8,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,31,-10,-19,-20,-11,-64,-13,-14,-15,-16,-17,-45,-36,-37,-38,-53,-58,31,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-12,-63,-65,-67,-70,-18,-101,-82,31,31,-83,31,-68,-66,-100,-84,31,-71,-85,31,-62,]),'CONTINUE':([0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,31,32,37,51,52,53,54,55,56,57,58,59,60,61,63,64,69,70,71,72,73,75,76,77,78,79,81,83,84,85,86,104,108,111,127,128,129,130,131,132,133,134,135,136,137,138,139,141,146,149,150,151,152,153,154,162,164,174,176,177,181,182,183,187,188,190,191,194,196,],[32,32,-5,-6,32,-9,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-8,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,32,-10,-19,-20,-11,-64,-13,-14,-15,-16,-17,-45,-36,-37,-38,-53,-58,32,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-12,-63,-65,-67,-70,-18,-101,-82,32,32,-83,32,-68,-66,-100,-84,32,-71,-85,32,-62,]),'NAME_KEYWORD':([0,7,70,71,72,73,76,77,78,79,81,146,152,153,],[17,17,-10,-19,-20,-11,-13,-14,-15,-16,-17,-12,-70,-18,]),'DESCRIPTION_KEYWORD':([0,7,70,71,72,73,76,77,78,79,81,146,152,153,],[18,18,-10,-19,-20,-11,-13,-14,-15,-16,-17,-12,-70,-18,]),'TAGS_KEYWORD':([0,7,70,71,72,73,76,77,78,79,81,146,152,153,],[19,19,-10,-19,-20,-11,-13,-14,-15,-16,-17,-12,-70,-18,]),'AUTHOR_KEYWORD':([0,7,70,71,72,73,76,77,78,79,81,146,152,153,],[21,21,-10,-19,-20,-11,-13,-14,-15,-16,-17,-12,-70,-18,]),'DATE_KEYWORD':([0,7,70,71,72,73,76,77,78,79,81,146,152,153,],[22,22,-10,-19,-20,-11,-13,-14,-15,-16,-17,-12,-70,-18,]),'DATA_KEYWORD':([0,7,70,71,72,73,76,77,78,79,81,146,152,153,],[23,23,-10,-19,-20,-11,-13,-14,-15,-16,-17,-12,-70,-18,]),'IMPORT_KEYWORD':([0,7,70,71,72,73,76,77,78,79,81,146,152,153,],[24,24,-10,-19,-20,-11,-13,-14,-15,-16,-17,-12,-70,-18,]),'REMOTE_KEYWORD':([0,7,70,71,72,73,76,77,78,79,81,146,152,153,],[25,25,-10,-19,-20,-11,-13,-14,-15,-16,-17,-12,-70,-18,]),'$end':([1,3,6,8,9,10,11,12,13,14,15,16,31,32,33,34,36,51,52,53,54,55,56,57,58,59,60,61,63,64,68,75,83,84,85,86,104,108,127,128,129,130,131,132,133,134,135,136,137,138,139,141,145,149,150,151,154,162,176,181,182,183,187,190,191,196,],[0,-4,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-2,-3,-25,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,-1,-64,-45,-36,-37,-38,-53,-58,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-69,-63,-65,-67,-101,-82,-83,-68,-66,-100,-84,-71,-85,-62,]),'TEARDOWN':([3,6,8,9,10,11,12,13,14,15,16,31,32,33,36,51,52,53,54,55,56,57,58,59,60,61,63,64,75,83,84,85,86,104,108,127,128,129,130,131,132,133,134,135,136,137,138,139,141,149,150,151,154,162,176,181,182,183,187,190,191,196,],[35,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,35,-25,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,-64,-45,-36,-37,-38,-53,-58,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-63,-65,-67,-101,-82,-83,-68,-66,-100,-84,-71,-85,-62,]),'END':([6,8,9,10,11,12,13,14,15,16,31,32,36,51,52,53,54,55,56,57,58,59,60,61,63,64,75,83,84,85,86,104,108,112,127,128,129,130,131,132,133,134,135,136,137,138,139,141,144,149,150,151,154,162,163,165,176,178,179,181,182,183,185,186,187,190,191,192,195,196,],[-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-25,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,-64,-45,-36,-37,-38,-53,-58,145,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,162,-63,-65,-67,-101,-82,176,-86,-83,187,-87,-68,-66,-100,190,191,-84,-71,-85,-88,196,-62,]),'ELSE':([6,8,9,10,11,12,13,14,15,16,31,32,36,51,52,53,54,55,56,57,58,59,60,61,63,64,75,83,84,85,86,104,108,127,128,129,130,131,132,133,134,135,136,137,138,139,141,144,149,150,151,154,162,163,165,176,179,181,182,183,187,190,191,192,196,],[-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-25,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,-64,-45,-36,-37,-38,-53,-58,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,164,-63,-65,-67,-101,-82,177,-86,-83,-87,-68,-66,-100,-84,-71,-85,-88,-62,]),'ELIF':([6,8,9,10,11,12,13,14,15,16,31,32,36,51,52,53,54,55,56,57,58,59,60,61,63,64,75,83,84,85,86,104,108,127,128,129,130,131,132,133,134,135,136,137,138,139,141,144,149,150,151,154,162,165,176,181,182,183,187,190,191,192,196,],[-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-80,-81,-25,-79,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,-64,-45,-36,-37,-38,-53,-58,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,166,-63,-65,-67,-101,-82,166,-83,-68,-66,-100,-84,-71,-85,-88,-62,]),'COLON':([17,18,19,21,22,23,24,25,52,53,54,55,56,57,58,59,60,61,63,64,104,108,110,127,128,129,130,131,132,133,134,135,136,137,138,139,141,148,],[38,39,40,42,43,44,45,46,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,-53,-58,143,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,168,]),'EQUALS':([26,123,],[47,156,]),'PIPE':([26,83,],[48,48,]),'NUMBER':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,156,166,168,184,],[55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,173,55,55,55,]),'STRING':([29,30,38,39,42,43,44,45,46,47,62,65,66,74,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,147,155,156,166,168,184,],[56,56,71,71,71,78,80,81,82,56,56,56,56,115,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,115,56,172,56,56,56,]),'PLACEHOLDER':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,166,168,184,],[57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,]),'LPAREN':([29,30,47,50,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,122,140,142,143,155,166,168,184,],[62,62,62,90,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,155,62,62,62,62,62,62,62,]),'TRUE':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,166,168,184,],[63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,]),'FALSE':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,166,168,184,],[64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,]),'LBRACE':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,166,168,184,],[66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,]),'DO':([35,52,53,54,55,56,57,58,59,60,61,63,64,67,104,108,127,128,129,130,131,132,133,134,135,136,137,138,139,141,157,180,193,],[69,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,111,-53,-58,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,174,188,194,]),'RBRACKET':([41,52,53,54,55,56,57,58,59,60,61,63,64,65,87,103,104,105,106,108,113,114,115,116,120,121,127,128,129,130,131,132,133,134,135,136,137,138,139,141,159,167,],[75,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,104,104,139,-53,-54,-56,-58,146,-22,-23,-24,75,154,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-55,-21,]),'DATE':([43,],[77,]),'IN':([49,],[89,]),'PLUS':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,83,84,102,104,106,108,110,120,127,128,129,130,131,132,133,134,135,136,137,138,139,141,161,171,180,181,189,],[91,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,91,-45,91,91,-53,91,-58,91,-45,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,91,91,91,91,91,]),'MINUS':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,83,84,102,104,106,108,110,120,127,128,129,130,131,132,133,134,135,136,137,138,139,141,161,171,180,181,189,],[92,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,92,-45,92,92,-53,92,-58,92,-45,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,92,92,92,92,92,]),'TIMES':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,83,84,102,104,106,108,110,120,127,128,129,130,131,132,133,134,135,136,137,138,139,141,161,171,180,181,189,],[93,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,93,-45,93,93,-53,93,-58,93,-45,93,93,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,93,93,93,93,93,]),'DIVIDE':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,83,84,102,104,106,108,110,120,127,128,129,130,131,132,133,134,135,136,137,138,139,141,161,171,180,181,189,],[94,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,94,-45,94,94,-53,94,-58,94,-45,94,94,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,94,94,94,94,94,]),'MODULO':([51,52,53,54,55,56,57,58,59,60,61,63,64,67,83,84,102,104,106,108,110,120,127,128,129,130,131,132,133,134,135,136,137,138,139,141,161,171,180,181,189,],[95,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,95,-45,95,95,-53,95,-58,95,-45,95,95,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,95,95,95,95,95,]),'RPAREN':([52,53,54,55,56,57,58,59,60,61,63,64,90,102,104,108,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,172,173,175,189,],[-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,-73,138,-53,-58,-78,157,-72,-75,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-76,-77,-74,193,]),'COMMA':([52,53,54,55,56,57,58,59,60,61,63,64,75,104,105,106,108,109,114,115,116,120,123,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,151,154,161,171,172,173,181,],[-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,117,-53,140,-56,-58,142,147,-23,-24,-45,-78,158,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,169,170,-61,184,-76,-77,-68,]),'RBRACE':([52,53,54,55,56,57,58,59,60,61,63,64,66,104,107,108,109,127,128,129,130,131,132,133,134,135,136,137,138,139,141,160,161,],[-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-50,-51,108,-53,141,-58,-59,-95,-96,-97,-98,-99,-89,-90,-91,-92,-93,-94,-49,-52,-57,-60,-61,]),'GT':([52,55,56,57,58,59,60,61,63,64,83,104,108,120,138,139,141,],[96,-42,-43,-44,-45,-46,-47,-48,-50,-51,-45,-53,-58,-45,-49,-52,-57,]),'LT':([52,55,56,57,58,59,60,61,63,64,83,104,108,120,138,139,141,],[97,-42,-43,-44,-45,-46,-47,-48,-50,-51,-45,-53,-58,-45,-49,-52,-57,]),'GE':([52,55,56,57,58,59,60,61,63,64,83,104,108,120,138,139,141,],[98,-42,-43,-44,-45,-46,-47,-48,-50,-51,-45,-53,-58,-45,-49,-52,-57,]),'LE':([52,55,56,57,58,59,60,61,63,64,83,104,108,120,138,139,141,],[99,-42,-43,-44,-45,-46,-47,-48,-50,-51,-45,-53,-58,-45,-49,-52,-57,]),'EQ':([52,55,56,57,58,59,60,61,63,64,83,104,108,120,138,139,141,],[100,-42,-43,-44,-45,-46,-47,-48,-50,-51,-45,-53,-58,-45,-49,-52,-57,]),'NE':([52,55,56,57,58,59,60,61,63,64,83,104,108,120,138,139,141,],[101,-42,-43,-44,-45,-46,-47,-48,-50,-51,-45,-53,-58,-45,-49,-52,-57,]),'USING':([80,],[118,]),'AS':([82,],[119,]),'RANGE':([89,],[122,]),}
|
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,]),'statements':([0,2,6,69,
|
20
|
+
_lr_goto_items = {'start':([0,],[1,]),'metadata':([0,],[2,]),'statements':([0,2,6,69,111,164,174,177,188,194,],[3,33,36,112,144,178,185,186,192,195,]),'metadata_items':([0,7,],[4,37,]),'empty':([0,],[5,]),'statement':([0,2,6,69,111,164,174,177,188,194,],[6,6,6,6,6,6,6,6,6,6,]),'metadata_item':([0,7,],[7,7,]),'assignment':([0,2,6,69,111,164,174,177,188,194,],[8,8,8,8,8,8,8,8,8,8,]),'keyword_call':([0,2,6,47,69,111,164,174,177,188,194,],[9,9,9,85,9,9,9,9,9,9,9,]),'remote_keyword_call':([0,2,6,47,69,111,164,174,177,188,194,],[10,10,10,86,10,10,10,10,10,10,10,]),'loop':([0,2,6,69,111,164,174,177,188,194,],[11,11,11,11,11,11,11,11,11,11,]),'custom_keyword':([0,2,6,69,111,164,174,177,188,194,],[12,12,12,12,12,12,12,12,12,12,]),'return_statement':([0,2,6,69,111,164,174,177,188,194,],[13,13,13,13,13,13,13,13,13,13,]),'if_statement':([0,2,6,69,111,164,174,177,188,194,],[14,14,14,14,14,14,14,14,14,14,]),'break_statement':([0,2,6,69,111,164,174,177,188,194,],[15,15,15,15,15,15,15,15,15,15,]),'continue_statement':([0,2,6,69,111,164,174,177,188,194,],[16,16,16,16,16,16,16,16,16,16,]),'teardown':([3,33,],[34,68,]),'expression':([29,30,47,62,65,66,87,91,92,93,94,95,140,142,143,155,166,168,184,],[51,67,84,102,106,110,106,127,128,129,130,131,106,110,161,171,180,181,189,]),'expr_atom':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,166,168,184,],[52,52,52,52,52,52,52,52,52,52,52,52,132,133,134,135,136,137,52,52,52,52,52,52,52,]),'comparison_expr':([29,30,47,62,65,66,87,91,92,93,94,95,140,142,143,155,166,168,184,],[53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,]),'arithmetic_expr':([29,30,47,62,65,66,87,91,92,93,94,95,140,142,143,155,166,168,184,],[54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,]),'boolean_expr':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,166,168,184,],[59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,]),'list_expr':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,166,168,184,],[60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,]),'dict_expr':([29,30,47,62,65,66,87,91,92,93,94,95,96,97,98,99,100,101,140,142,143,155,166,168,184,],[61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,]),'metadata_value':([38,39,42,],[70,73,76,]),'data_source':([44,],[79,]),'list_items':([65,87,140,],[103,103,159,]),'list_item':([65,87,140,],[105,105,105,]),'dict_items':([66,142,],[107,160,]),'dict_item':([66,142,],[109,109,]),'tags':([74,147,],[113,167,]),'tag':([74,147,],[114,114,]),'param_definitions':([90,],[124,]),'param_def_list':([90,158,],[125,175,]),'param_def':([90,158,],[126,126,]),'parameter_list':([117,170,],[149,183,]),'parameter_items':([117,169,170,],[150,182,150,]),'parameter_item':([117,169,170,],[151,151,151,]),'elif_clauses':([144,165,],[163,179,]),'elif_clause':([144,165,],[165,165,]),}
|
21
21
|
|
22
22
|
_lr_goto = {}
|
23
23
|
for _k, _v in _lr_goto_items.items():
|
@@ -41,90 +41,91 @@ _lr_productions = [
|
|
41
41
|
('metadata_item -> TAGS_KEYWORD COLON LBRACKET tags RBRACKET','metadata_item',5,'p_metadata_item','parser.py',67),
|
42
42
|
('metadata_item -> AUTHOR_KEYWORD COLON metadata_value','metadata_item',3,'p_metadata_item','parser.py',68),
|
43
43
|
('metadata_item -> DATE_KEYWORD COLON DATE','metadata_item',3,'p_metadata_item','parser.py',69),
|
44
|
-
('metadata_item ->
|
45
|
-
('metadata_item ->
|
46
|
-
('metadata_item ->
|
47
|
-
('
|
48
|
-
('metadata_value ->
|
49
|
-
('
|
50
|
-
('tags -> tag','tags',
|
51
|
-
('
|
52
|
-
('tag ->
|
53
|
-
('
|
54
|
-
('statements -> statement','statements',
|
55
|
-
('
|
56
|
-
('statement ->
|
57
|
-
('statement ->
|
58
|
-
('statement ->
|
59
|
-
('statement ->
|
60
|
-
('statement ->
|
61
|
-
('statement ->
|
62
|
-
('statement ->
|
63
|
-
('statement ->
|
64
|
-
('
|
65
|
-
('assignment -> ID EQUALS
|
66
|
-
('assignment -> ID EQUALS
|
67
|
-
('
|
68
|
-
('expression ->
|
69
|
-
('expression ->
|
70
|
-
('
|
71
|
-
('expr_atom ->
|
72
|
-
('expr_atom ->
|
73
|
-
('expr_atom ->
|
74
|
-
('expr_atom ->
|
75
|
-
('expr_atom ->
|
76
|
-
('expr_atom ->
|
77
|
-
('expr_atom ->
|
78
|
-
('
|
79
|
-
('boolean_expr ->
|
80
|
-
('
|
81
|
-
('list_expr -> LBRACKET RBRACKET','list_expr',
|
82
|
-
('
|
83
|
-
('list_items -> list_item
|
84
|
-
('
|
85
|
-
('
|
86
|
-
('dict_expr -> LBRACE RBRACE','dict_expr',
|
87
|
-
('
|
88
|
-
('dict_items -> dict_item
|
89
|
-
('
|
90
|
-
('
|
91
|
-
('
|
92
|
-
('keyword_call -> LBRACKET ID RBRACKET','keyword_call',
|
93
|
-
('
|
94
|
-
('
|
95
|
-
('parameter_items -> parameter_item','parameter_items',
|
96
|
-
('
|
97
|
-
('
|
98
|
-
('
|
99
|
-
('
|
100
|
-
('
|
101
|
-
('param_definitions ->
|
102
|
-
('
|
103
|
-
('param_def_list -> param_def','param_def_list',
|
104
|
-
('
|
105
|
-
('param_def -> ID EQUALS
|
106
|
-
('param_def -> ID','param_def',
|
107
|
-
('
|
108
|
-
('
|
109
|
-
('
|
110
|
-
('
|
111
|
-
('if_statement -> IF expression DO statements
|
112
|
-
('if_statement -> IF expression DO statements
|
113
|
-
('if_statement -> IF expression DO statements
|
114
|
-
('
|
115
|
-
('elif_clauses -> elif_clause
|
116
|
-
('
|
117
|
-
('
|
118
|
-
('comparison_expr -> expr_atom
|
119
|
-
('comparison_expr -> expr_atom
|
120
|
-
('comparison_expr -> expr_atom
|
121
|
-
('comparison_expr -> expr_atom
|
122
|
-
('comparison_expr -> expr_atom
|
123
|
-
('
|
124
|
-
('arithmetic_expr -> expression
|
125
|
-
('arithmetic_expr -> expression
|
126
|
-
('arithmetic_expr -> expression
|
127
|
-
('arithmetic_expr -> expression
|
128
|
-
('
|
129
|
-
('remote_keyword_call -> ID PIPE LBRACKET ID RBRACKET','remote_keyword_call',
|
44
|
+
('metadata_item -> DATE_KEYWORD COLON STRING','metadata_item',3,'p_metadata_item','parser.py',70),
|
45
|
+
('metadata_item -> DATA_KEYWORD COLON data_source','metadata_item',3,'p_metadata_item','parser.py',71),
|
46
|
+
('metadata_item -> IMPORT_KEYWORD COLON STRING','metadata_item',3,'p_metadata_item','parser.py',72),
|
47
|
+
('metadata_item -> REMOTE_KEYWORD COLON STRING AS ID','metadata_item',5,'p_metadata_item','parser.py',73),
|
48
|
+
('metadata_value -> STRING','metadata_value',1,'p_metadata_value','parser.py',92),
|
49
|
+
('metadata_value -> ID','metadata_value',1,'p_metadata_value','parser.py',93),
|
50
|
+
('tags -> tag COMMA tags','tags',3,'p_tags','parser.py',98),
|
51
|
+
('tags -> tag','tags',1,'p_tags','parser.py',99),
|
52
|
+
('tag -> STRING','tag',1,'p_tag','parser.py',107),
|
53
|
+
('tag -> ID','tag',1,'p_tag','parser.py',108),
|
54
|
+
('statements -> statement statements','statements',2,'p_statements','parser.py',113),
|
55
|
+
('statements -> statement','statements',1,'p_statements','parser.py',114),
|
56
|
+
('statement -> assignment','statement',1,'p_statement','parser.py',122),
|
57
|
+
('statement -> keyword_call','statement',1,'p_statement','parser.py',123),
|
58
|
+
('statement -> remote_keyword_call','statement',1,'p_statement','parser.py',124),
|
59
|
+
('statement -> loop','statement',1,'p_statement','parser.py',125),
|
60
|
+
('statement -> custom_keyword','statement',1,'p_statement','parser.py',126),
|
61
|
+
('statement -> return_statement','statement',1,'p_statement','parser.py',127),
|
62
|
+
('statement -> if_statement','statement',1,'p_statement','parser.py',128),
|
63
|
+
('statement -> break_statement','statement',1,'p_statement','parser.py',129),
|
64
|
+
('statement -> continue_statement','statement',1,'p_statement','parser.py',130),
|
65
|
+
('assignment -> ID EQUALS expression','assignment',3,'p_assignment','parser.py',135),
|
66
|
+
('assignment -> ID EQUALS keyword_call','assignment',3,'p_assignment','parser.py',136),
|
67
|
+
('assignment -> ID EQUALS remote_keyword_call','assignment',3,'p_assignment','parser.py',137),
|
68
|
+
('expression -> expr_atom','expression',1,'p_expression','parser.py',147),
|
69
|
+
('expression -> comparison_expr','expression',1,'p_expression','parser.py',148),
|
70
|
+
('expression -> arithmetic_expr','expression',1,'p_expression','parser.py',149),
|
71
|
+
('expr_atom -> NUMBER','expr_atom',1,'p_expr_atom','parser.py',158),
|
72
|
+
('expr_atom -> STRING','expr_atom',1,'p_expr_atom','parser.py',159),
|
73
|
+
('expr_atom -> PLACEHOLDER','expr_atom',1,'p_expr_atom','parser.py',160),
|
74
|
+
('expr_atom -> ID','expr_atom',1,'p_expr_atom','parser.py',161),
|
75
|
+
('expr_atom -> boolean_expr','expr_atom',1,'p_expr_atom','parser.py',162),
|
76
|
+
('expr_atom -> list_expr','expr_atom',1,'p_expr_atom','parser.py',163),
|
77
|
+
('expr_atom -> dict_expr','expr_atom',1,'p_expr_atom','parser.py',164),
|
78
|
+
('expr_atom -> LPAREN expression RPAREN','expr_atom',3,'p_expr_atom','parser.py',165),
|
79
|
+
('boolean_expr -> TRUE','boolean_expr',1,'p_boolean_expr','parser.py',176),
|
80
|
+
('boolean_expr -> FALSE','boolean_expr',1,'p_boolean_expr','parser.py',177),
|
81
|
+
('list_expr -> LBRACKET list_items RBRACKET','list_expr',3,'p_list_expr','parser.py',182),
|
82
|
+
('list_expr -> LBRACKET RBRACKET','list_expr',2,'p_list_expr','parser.py',183),
|
83
|
+
('list_items -> list_item','list_items',1,'p_list_items','parser.py',191),
|
84
|
+
('list_items -> list_item COMMA list_items','list_items',3,'p_list_items','parser.py',192),
|
85
|
+
('list_item -> expression','list_item',1,'p_list_item','parser.py',200),
|
86
|
+
('dict_expr -> LBRACE dict_items RBRACE','dict_expr',3,'p_dict_expr','parser.py',205),
|
87
|
+
('dict_expr -> LBRACE RBRACE','dict_expr',2,'p_dict_expr','parser.py',206),
|
88
|
+
('dict_items -> dict_item','dict_items',1,'p_dict_items','parser.py',214),
|
89
|
+
('dict_items -> dict_item COMMA dict_items','dict_items',3,'p_dict_items','parser.py',215),
|
90
|
+
('dict_item -> expression COLON expression','dict_item',3,'p_dict_item','parser.py',223),
|
91
|
+
('loop -> FOR ID IN RANGE LPAREN expression COMMA expression RPAREN DO statements END','loop',12,'p_loop','parser.py',228),
|
92
|
+
('keyword_call -> LBRACKET ID RBRACKET COMMA parameter_list','keyword_call',5,'p_keyword_call','parser.py',233),
|
93
|
+
('keyword_call -> LBRACKET ID RBRACKET','keyword_call',3,'p_keyword_call','parser.py',234),
|
94
|
+
('parameter_list -> parameter_items','parameter_list',1,'p_parameter_list','parser.py',242),
|
95
|
+
('parameter_items -> parameter_item COMMA parameter_items','parameter_items',3,'p_parameter_items','parser.py',247),
|
96
|
+
('parameter_items -> parameter_item','parameter_items',1,'p_parameter_items','parser.py',248),
|
97
|
+
('parameter_item -> ID COLON expression','parameter_item',3,'p_parameter_item','parser.py',256),
|
98
|
+
('teardown -> TEARDOWN DO statements END','teardown',4,'p_teardown','parser.py',261),
|
99
|
+
('data_source -> STRING USING ID','data_source',3,'p_data_source','parser.py',266),
|
100
|
+
('custom_keyword -> FUNCTION ID LPAREN param_definitions RPAREN DO statements END','custom_keyword',8,'p_custom_keyword','parser.py',271),
|
101
|
+
('param_definitions -> param_def_list','param_definitions',1,'p_param_definitions','parser.py',276),
|
102
|
+
('param_definitions -> <empty>','param_definitions',0,'p_param_definitions','parser.py',277),
|
103
|
+
('param_def_list -> param_def COMMA param_def_list','param_def_list',3,'p_param_def_list','parser.py',285),
|
104
|
+
('param_def_list -> param_def','param_def_list',1,'p_param_def_list','parser.py',286),
|
105
|
+
('param_def -> ID EQUALS STRING','param_def',3,'p_param_def','parser.py',294),
|
106
|
+
('param_def -> ID EQUALS NUMBER','param_def',3,'p_param_def','parser.py',295),
|
107
|
+
('param_def -> ID','param_def',1,'p_param_def','parser.py',296),
|
108
|
+
('return_statement -> RETURN expression','return_statement',2,'p_return_statement','parser.py',304),
|
109
|
+
('break_statement -> BREAK','break_statement',1,'p_break_statement','parser.py',309),
|
110
|
+
('continue_statement -> CONTINUE','continue_statement',1,'p_continue_statement','parser.py',314),
|
111
|
+
('if_statement -> IF expression DO statements END','if_statement',5,'p_if_statement','parser.py',319),
|
112
|
+
('if_statement -> IF expression DO statements elif_clauses END','if_statement',6,'p_if_statement','parser.py',320),
|
113
|
+
('if_statement -> IF expression DO statements ELSE statements END','if_statement',7,'p_if_statement','parser.py',321),
|
114
|
+
('if_statement -> IF expression DO statements elif_clauses ELSE statements END','if_statement',8,'p_if_statement','parser.py',322),
|
115
|
+
('elif_clauses -> elif_clause','elif_clauses',1,'p_elif_clauses','parser.py',338),
|
116
|
+
('elif_clauses -> elif_clause elif_clauses','elif_clauses',2,'p_elif_clauses','parser.py',339),
|
117
|
+
('elif_clause -> ELIF expression DO statements','elif_clause',4,'p_elif_clause','parser.py',347),
|
118
|
+
('comparison_expr -> expr_atom GT expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',352),
|
119
|
+
('comparison_expr -> expr_atom LT expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',353),
|
120
|
+
('comparison_expr -> expr_atom GE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',354),
|
121
|
+
('comparison_expr -> expr_atom LE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',355),
|
122
|
+
('comparison_expr -> expr_atom EQ expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',356),
|
123
|
+
('comparison_expr -> expr_atom NE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',357),
|
124
|
+
('arithmetic_expr -> expression PLUS expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',380),
|
125
|
+
('arithmetic_expr -> expression MINUS expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',381),
|
126
|
+
('arithmetic_expr -> expression TIMES expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',382),
|
127
|
+
('arithmetic_expr -> expression DIVIDE expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',383),
|
128
|
+
('arithmetic_expr -> expression MODULO expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',384),
|
129
|
+
('remote_keyword_call -> ID PIPE LBRACKET ID RBRACKET COMMA parameter_list','remote_keyword_call',7,'p_remote_keyword_call','parser.py',417),
|
130
|
+
('remote_keyword_call -> ID PIPE LBRACKET ID RBRACKET','remote_keyword_call',5,'p_remote_keyword_call','parser.py',418),
|
130
131
|
]
|
@@ -110,7 +110,7 @@
|
|
110
110
|
asserts:
|
111
111
|
- ["status", "eq", 200]
|
112
112
|
- ["jsonpath", "$.args.task_id", "eq", "${task_id}"] # 这个断言一定会通过
|
113
|
-
- ["response_time", "lt",
|
113
|
+
- ["response_time", "lt", 4000] # 给2秒延迟留出足够的缓冲时间
|
114
114
|
''',断言重试次数: 3,断言重试间隔: 1
|
115
115
|
|
116
116
|
[打印],内容:'任务查询完成,URL: ${url}'
|
@@ -16,7 +16,7 @@
|
|
16
16
|
asserts:
|
17
17
|
- ["status", "eq", 200]
|
18
18
|
- ["jsonpath", "$.url", "contains", "httpbin.org"]
|
19
|
-
- ["response_time", "lt",
|
19
|
+
- ["response_time", "lt", 4000] # 给2秒延迟留出足够的缓冲时间
|
20
20
|
''',步骤名称: "旧版全局断言重试示例"
|
21
21
|
|
22
22
|
# 示例2: 使用indices指定重试特定断言
|
@@ -38,7 +38,7 @@
|
|
38
38
|
asserts:
|
39
39
|
- ["status", "eq", 200] # 索引0
|
40
40
|
- ["body", "matches", "^[0-9]+$"] # 索引1
|
41
|
-
- ["body", "lt", 6] # 索引2 -
|
41
|
+
- ["body", "lt", 6] # 索引2 - 需要重试,约50%概率失败
|
42
42
|
- ["response_time", "lt", 10000] # 索引3
|
43
43
|
retry_assertions:
|
44
44
|
count: 5
|
@@ -56,7 +56,7 @@
|
|
56
56
|
url: https://httpbin.org/delay/1
|
57
57
|
asserts:
|
58
58
|
- ["status", "eq", 200] # 索引0
|
59
|
-
- ["response_time", "lt",
|
59
|
+
- ["response_time", "lt", 3000] # 索引1 - 给1秒延迟留出缓冲
|
60
60
|
- ["jsonpath", "$.headers.Host", "eq", "httpbin.org"] # 索引2
|
61
61
|
- ["jsonpath", "$.url", "contains", "httpbin.org"] # 索引3
|
62
62
|
retry_assertions:
|
@@ -79,7 +79,7 @@
|
|
79
79
|
url: https://httpbin.org/status/200
|
80
80
|
asserts:
|
81
81
|
- ["status", "eq", 200]
|
82
|
-
- ["response_time", "lt",
|
82
|
+
- ["response_time", "lt", 5000] # 设置合理的响应时间限制
|
83
83
|
retry_assertions:
|
84
84
|
count: 3
|
85
85
|
interval: 1.5
|
@@ -13,7 +13,7 @@
|
|
13
13
|
asserts:
|
14
14
|
- ["status", "eq", 200]
|
15
15
|
- ["jsonpath", "$.url", "contains", "httpbin.org"]
|
16
|
-
- ["response_time", "lt",
|
16
|
+
- ["response_time", "lt", 4000] # 给2秒延迟留出足够的缓冲时间
|
17
17
|
retry_assertions:
|
18
18
|
count: 3
|
19
19
|
interval: 1
|
@@ -57,7 +57,7 @@
|
|
57
57
|
url: https://httpbin.org/delay/1
|
58
58
|
asserts:
|
59
59
|
- ["status", "eq", 200] # 索引0
|
60
|
-
- ["response_time", "lt",
|
60
|
+
- ["response_time", "lt", 3000] # 索引1 - 给1秒延迟留出缓冲
|
61
61
|
- ["jsonpath", "$.headers.Host", "eq", "httpbin.org"] # 索引2
|
62
62
|
retry_assertions:
|
63
63
|
# 全局设置
|
@@ -10,7 +10,7 @@
|
|
10
10
|
url: https://httpbin.org/delay/1
|
11
11
|
asserts:
|
12
12
|
- ["status", "eq", 200]
|
13
|
-
- ["response_time", "lt",
|
13
|
+
- ["response_time", "lt", 3000] # 给1秒延迟留出合理的缓冲时间
|
14
14
|
# 全局重试配置
|
15
15
|
retry_assertions:
|
16
16
|
count: 2
|
@@ -24,7 +24,7 @@
|
|
24
24
|
url: https://httpbin.org/delay/1
|
25
25
|
asserts:
|
26
26
|
- ["status", "eq", 200] # 索引0
|
27
|
-
- ["response_time", "lt",
|
27
|
+
- ["response_time", "lt", 3000] # 索引1,给1秒延迟留出缓冲
|
28
28
|
# 只重试指定索引的断言
|
29
29
|
retry_assertions:
|
30
30
|
count: 3
|
@@ -38,7 +38,7 @@
|
|
38
38
|
url: https://httpbin.org/delay/1
|
39
39
|
asserts:
|
40
40
|
- ["status", "eq", 200] # 索引0
|
41
|
-
- ["response_time", "lt",
|
41
|
+
- ["response_time", "lt", 3000] # 索引1,给1秒延迟留出缓冲
|
42
42
|
- ["body", "contains", "url"] # 索引2
|
43
43
|
# 为特定断言提供自定义配置
|
44
44
|
retry_assertions:
|
@@ -10,7 +10,7 @@
|
|
10
10
|
url: https://httpbin.org/delay/1
|
11
11
|
asserts:
|
12
12
|
- ["status", "eq", 200]
|
13
|
-
- ["response_time", "lt",
|
13
|
+
- ["response_time", "lt", 3000]
|
14
14
|
retry_assertions:
|
15
15
|
count: 2
|
16
16
|
interval: 1
|
@@ -23,7 +23,7 @@
|
|
23
23
|
url: https://httpbin.org/delay/1
|
24
24
|
asserts:
|
25
25
|
- ["status", "eq", 200]
|
26
|
-
- ["response_time", "lt",
|
26
|
+
- ["response_time", "lt", 3000]
|
27
27
|
retry_assertions:
|
28
28
|
count: 3
|
29
29
|
interval: 0.5
|
@@ -36,7 +36,7 @@
|
|
36
36
|
url: https://httpbin.org/delay/1
|
37
37
|
asserts:
|
38
38
|
- ["status", "eq", 200]
|
39
|
-
- ["response_time", "lt",
|
39
|
+
- ["response_time", "lt", 3000]
|
40
40
|
- ["body", "contains", "url"]
|
41
41
|
retry_assertions:
|
42
42
|
specific:
|
@@ -1,22 +1,33 @@
|
|
1
1
|
@name: 断言重试调试示例
|
2
|
-
@description:
|
2
|
+
@description: 使用随机数断言测试断言重试功能
|
3
3
|
@tags: [HTTP, API, 断言重试, 调试]
|
4
4
|
@author: Felix
|
5
5
|
@date: 2024-06-15
|
6
6
|
|
7
|
-
[打印],内容:'开始测试断言重试功能 -
|
7
|
+
[打印],内容:'开始测试断言重试功能 - 使用随机数模拟不确定结果'
|
8
8
|
|
9
|
-
#
|
9
|
+
# 使用随机数断言来模拟可能失败的断言,这比响应时间更可靠
|
10
10
|
[HTTP请求],客户端:'default',配置:'''
|
11
11
|
method: GET
|
12
|
-
url: https://
|
12
|
+
url: https://www.random.org/integers/
|
13
|
+
request:
|
14
|
+
params:
|
15
|
+
num: 1
|
16
|
+
min: 1
|
17
|
+
max: 10
|
18
|
+
col: 1
|
19
|
+
base: 10
|
20
|
+
format: plain
|
21
|
+
captures:
|
22
|
+
random_number: ["body"]
|
13
23
|
asserts:
|
14
24
|
- ["status", "eq", 200] # 这个会通过
|
15
|
-
- ["
|
25
|
+
- ["body", "lt", 5] # 约40%概率失败,用于测试重试逻辑
|
16
26
|
retry_assertions:
|
17
|
-
count:
|
18
|
-
interval:
|
27
|
+
count: 3
|
28
|
+
interval: 1
|
19
29
|
all: true
|
20
|
-
''',步骤名称:"
|
30
|
+
''',步骤名称:"使用随机数测试重试功能"
|
21
31
|
|
32
|
+
[打印],内容:'获取的随机数: ${random_number}'
|
22
33
|
[打印],内容:'测试完成 - 如果执行到这里,说明重试逻辑正常工作'
|