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.
@@ -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,110,163,173,176,187,193,],[3,33,36,111,143,177,184,185,191,194,]),'metadata_items':([0,7,],[4,37,]),'empty':([0,],[5,]),'statement':([0,2,6,69,110,163,173,176,187,193,],[6,6,6,6,6,6,6,6,6,6,]),'metadata_item':([0,7,],[7,7,]),'assignment':([0,2,6,69,110,163,173,176,187,193,],[8,8,8,8,8,8,8,8,8,8,]),'keyword_call':([0,2,6,47,69,110,163,173,176,187,193,],[9,9,9,84,9,9,9,9,9,9,9,]),'remote_keyword_call':([0,2,6,47,69,110,163,173,176,187,193,],[10,10,10,85,10,10,10,10,10,10,10,]),'loop':([0,2,6,69,110,163,173,176,187,193,],[11,11,11,11,11,11,11,11,11,11,]),'custom_keyword':([0,2,6,69,110,163,173,176,187,193,],[12,12,12,12,12,12,12,12,12,12,]),'return_statement':([0,2,6,69,110,163,173,176,187,193,],[13,13,13,13,13,13,13,13,13,13,]),'if_statement':([0,2,6,69,110,163,173,176,187,193,],[14,14,14,14,14,14,14,14,14,14,]),'break_statement':([0,2,6,69,110,163,173,176,187,193,],[15,15,15,15,15,15,15,15,15,15,]),'continue_statement':([0,2,6,69,110,163,173,176,187,193,],[16,16,16,16,16,16,16,16,16,16,]),'teardown':([3,33,],[34,68,]),'expression':([29,30,47,62,65,66,86,90,91,92,93,94,139,141,142,154,165,167,183,],[51,67,83,101,105,109,105,126,127,128,129,130,105,109,160,170,179,180,188,]),'expr_atom':([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,],[52,52,52,52,52,52,52,52,52,52,52,52,131,132,133,134,135,136,52,52,52,52,52,52,52,]),'comparison_expr':([29,30,47,62,65,66,86,90,91,92,93,94,139,141,142,154,165,167,183,],[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,86,90,91,92,93,94,139,141,142,154,165,167,183,],[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,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,154,165,167,183,],[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,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,154,165,167,183,],[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,86,90,91,92,93,94,95,96,97,98,99,100,139,141,142,154,165,167,183,],[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,],[78,]),'list_items':([65,86,139,],[102,102,158,]),'list_item':([65,86,139,],[104,104,104,]),'dict_items':([66,141,],[106,159,]),'dict_item':([66,141,],[108,108,]),'tags':([74,146,],[112,166,]),'tag':([74,146,],[113,113,]),'param_definitions':([89,],[123,]),'param_def_list':([89,157,],[124,174,]),'param_def':([89,157,],[125,125,]),'parameter_list':([116,169,],[148,182,]),'parameter_items':([116,168,169,],[149,181,149,]),'parameter_item':([116,168,169,],[150,150,150,]),'elif_clauses':([143,164,],[162,178,]),'elif_clause':([143,164,],[164,164,]),}
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 -> 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_item -> REMOTE_KEYWORD COLON STRING AS ID','metadata_item',5,'p_metadata_item','parser.py',72),
47
- ('metadata_value -> STRING','metadata_value',1,'p_metadata_value','parser.py',91),
48
- ('metadata_value -> ID','metadata_value',1,'p_metadata_value','parser.py',92),
49
- ('tags -> tag COMMA tags','tags',3,'p_tags','parser.py',97),
50
- ('tags -> tag','tags',1,'p_tags','parser.py',98),
51
- ('tag -> STRING','tag',1,'p_tag','parser.py',106),
52
- ('tag -> ID','tag',1,'p_tag','parser.py',107),
53
- ('statements -> statement statements','statements',2,'p_statements','parser.py',112),
54
- ('statements -> statement','statements',1,'p_statements','parser.py',113),
55
- ('statement -> assignment','statement',1,'p_statement','parser.py',121),
56
- ('statement -> keyword_call','statement',1,'p_statement','parser.py',122),
57
- ('statement -> remote_keyword_call','statement',1,'p_statement','parser.py',123),
58
- ('statement -> loop','statement',1,'p_statement','parser.py',124),
59
- ('statement -> custom_keyword','statement',1,'p_statement','parser.py',125),
60
- ('statement -> return_statement','statement',1,'p_statement','parser.py',126),
61
- ('statement -> if_statement','statement',1,'p_statement','parser.py',127),
62
- ('statement -> break_statement','statement',1,'p_statement','parser.py',128),
63
- ('statement -> continue_statement','statement',1,'p_statement','parser.py',129),
64
- ('assignment -> ID EQUALS expression','assignment',3,'p_assignment','parser.py',134),
65
- ('assignment -> ID EQUALS keyword_call','assignment',3,'p_assignment','parser.py',135),
66
- ('assignment -> ID EQUALS remote_keyword_call','assignment',3,'p_assignment','parser.py',136),
67
- ('expression -> expr_atom','expression',1,'p_expression','parser.py',146),
68
- ('expression -> comparison_expr','expression',1,'p_expression','parser.py',147),
69
- ('expression -> arithmetic_expr','expression',1,'p_expression','parser.py',148),
70
- ('expr_atom -> NUMBER','expr_atom',1,'p_expr_atom','parser.py',157),
71
- ('expr_atom -> STRING','expr_atom',1,'p_expr_atom','parser.py',158),
72
- ('expr_atom -> PLACEHOLDER','expr_atom',1,'p_expr_atom','parser.py',159),
73
- ('expr_atom -> ID','expr_atom',1,'p_expr_atom','parser.py',160),
74
- ('expr_atom -> boolean_expr','expr_atom',1,'p_expr_atom','parser.py',161),
75
- ('expr_atom -> list_expr','expr_atom',1,'p_expr_atom','parser.py',162),
76
- ('expr_atom -> dict_expr','expr_atom',1,'p_expr_atom','parser.py',163),
77
- ('expr_atom -> LPAREN expression RPAREN','expr_atom',3,'p_expr_atom','parser.py',164),
78
- ('boolean_expr -> TRUE','boolean_expr',1,'p_boolean_expr','parser.py',175),
79
- ('boolean_expr -> FALSE','boolean_expr',1,'p_boolean_expr','parser.py',176),
80
- ('list_expr -> LBRACKET list_items RBRACKET','list_expr',3,'p_list_expr','parser.py',181),
81
- ('list_expr -> LBRACKET RBRACKET','list_expr',2,'p_list_expr','parser.py',182),
82
- ('list_items -> list_item','list_items',1,'p_list_items','parser.py',190),
83
- ('list_items -> list_item COMMA list_items','list_items',3,'p_list_items','parser.py',191),
84
- ('list_item -> expression','list_item',1,'p_list_item','parser.py',199),
85
- ('dict_expr -> LBRACE dict_items RBRACE','dict_expr',3,'p_dict_expr','parser.py',204),
86
- ('dict_expr -> LBRACE RBRACE','dict_expr',2,'p_dict_expr','parser.py',205),
87
- ('dict_items -> dict_item','dict_items',1,'p_dict_items','parser.py',213),
88
- ('dict_items -> dict_item COMMA dict_items','dict_items',3,'p_dict_items','parser.py',214),
89
- ('dict_item -> expression COLON expression','dict_item',3,'p_dict_item','parser.py',222),
90
- ('loop -> FOR ID IN RANGE LPAREN expression COMMA expression RPAREN DO statements END','loop',12,'p_loop','parser.py',227),
91
- ('keyword_call -> LBRACKET ID RBRACKET COMMA parameter_list','keyword_call',5,'p_keyword_call','parser.py',232),
92
- ('keyword_call -> LBRACKET ID RBRACKET','keyword_call',3,'p_keyword_call','parser.py',233),
93
- ('parameter_list -> parameter_items','parameter_list',1,'p_parameter_list','parser.py',241),
94
- ('parameter_items -> parameter_item COMMA parameter_items','parameter_items',3,'p_parameter_items','parser.py',246),
95
- ('parameter_items -> parameter_item','parameter_items',1,'p_parameter_items','parser.py',247),
96
- ('parameter_item -> ID COLON expression','parameter_item',3,'p_parameter_item','parser.py',255),
97
- ('teardown -> TEARDOWN DO statements END','teardown',4,'p_teardown','parser.py',260),
98
- ('data_source -> STRING USING ID','data_source',3,'p_data_source','parser.py',265),
99
- ('custom_keyword -> FUNCTION ID LPAREN param_definitions RPAREN DO statements END','custom_keyword',8,'p_custom_keyword','parser.py',270),
100
- ('param_definitions -> param_def_list','param_definitions',1,'p_param_definitions','parser.py',275),
101
- ('param_definitions -> <empty>','param_definitions',0,'p_param_definitions','parser.py',276),
102
- ('param_def_list -> param_def COMMA param_def_list','param_def_list',3,'p_param_def_list','parser.py',284),
103
- ('param_def_list -> param_def','param_def_list',1,'p_param_def_list','parser.py',285),
104
- ('param_def -> ID EQUALS STRING','param_def',3,'p_param_def','parser.py',293),
105
- ('param_def -> ID EQUALS NUMBER','param_def',3,'p_param_def','parser.py',294),
106
- ('param_def -> ID','param_def',1,'p_param_def','parser.py',295),
107
- ('return_statement -> RETURN expression','return_statement',2,'p_return_statement','parser.py',303),
108
- ('break_statement -> BREAK','break_statement',1,'p_break_statement','parser.py',308),
109
- ('continue_statement -> CONTINUE','continue_statement',1,'p_continue_statement','parser.py',313),
110
- ('if_statement -> IF expression DO statements END','if_statement',5,'p_if_statement','parser.py',318),
111
- ('if_statement -> IF expression DO statements elif_clauses END','if_statement',6,'p_if_statement','parser.py',319),
112
- ('if_statement -> IF expression DO statements ELSE statements END','if_statement',7,'p_if_statement','parser.py',320),
113
- ('if_statement -> IF expression DO statements elif_clauses ELSE statements END','if_statement',8,'p_if_statement','parser.py',321),
114
- ('elif_clauses -> elif_clause','elif_clauses',1,'p_elif_clauses','parser.py',337),
115
- ('elif_clauses -> elif_clause elif_clauses','elif_clauses',2,'p_elif_clauses','parser.py',338),
116
- ('elif_clause -> ELIF expression DO statements','elif_clause',4,'p_elif_clause','parser.py',346),
117
- ('comparison_expr -> expr_atom GT expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',351),
118
- ('comparison_expr -> expr_atom LT expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',352),
119
- ('comparison_expr -> expr_atom GE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',353),
120
- ('comparison_expr -> expr_atom LE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',354),
121
- ('comparison_expr -> expr_atom EQ expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',355),
122
- ('comparison_expr -> expr_atom NE expr_atom','comparison_expr',3,'p_comparison_expr','parser.py',356),
123
- ('arithmetic_expr -> expression PLUS expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',379),
124
- ('arithmetic_expr -> expression MINUS expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',380),
125
- ('arithmetic_expr -> expression TIMES expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',381),
126
- ('arithmetic_expr -> expression DIVIDE expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',382),
127
- ('arithmetic_expr -> expression MODULO expression','arithmetic_expr',3,'p_arithmetic_expr','parser.py',383),
128
- ('remote_keyword_call -> ID PIPE LBRACKET ID RBRACKET COMMA parameter_list','remote_keyword_call',7,'p_remote_keyword_call','parser.py',416),
129
- ('remote_keyword_call -> ID PIPE LBRACKET ID RBRACKET','remote_keyword_call',5,'p_remote_keyword_call','parser.py',417),
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", 1000] # 这个断言可能失败,因为延迟是2
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", 3000] # 这个断言可能会失败,因为请求延迟约2
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", 2000] # 索引1
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", 100] # 可能会失败
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", 3003] # 这个断言可能会失败,因为请求延迟约2
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", 2500] # 索引1
60
+ - ["response_time", "lt", 3000] # 索引1 - 给1秒延迟留出缓冲
61
61
  - ["jsonpath", "$.headers.Host", "eq", "httpbin.org"] # 索引2
62
62
  retry_assertions:
63
63
  # 全局设置
@@ -12,7 +12,7 @@
12
12
  url: https://httpbin.org/delay/1
13
13
  asserts:
14
14
  - ["status", "eq", 200]
15
- - ["response_time", "lt", 100] # 强制失败,设置为很小的值
15
+ - ["response_time", "lt", 3000] # 给1秒延迟留出合理的缓冲时间
16
16
  retry_assertions:
17
17
  count: 2
18
18
  interval: 1
@@ -10,7 +10,7 @@
10
10
  url: https://httpbin.org/delay/1
11
11
  asserts:
12
12
  - ["status", "eq", 200]
13
- - ["response_time", "lt", 500] # 可能会失败,因为请求延迟约1
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", 500] # 索引1,需要重试
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", 500] # 索引1,使用特定配置
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", 500]
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", 500]
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", 500]
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://httpbin.org/delay/1
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
- - ["response_time", "lt", 50] # 设置极低的值确保失败,1秒的延迟应该会超过50ms
25
+ - ["body", "lt", 5] # 约40%概率失败,用于测试重试逻辑
16
26
  retry_assertions:
17
- count: 2
18
- interval: 0.5
27
+ count: 3
28
+ interval: 1
19
29
  all: true
20
- ''',步骤名称:"故意触发断言失败的示例"
30
+ ''',步骤名称:"使用随机数测试重试功能"
21
31
 
32
+ [打印],内容:'获取的随机数: ${random_number}'
22
33
  [打印],内容:'测试完成 - 如果执行到这里,说明重试逻辑正常工作'
@@ -10,7 +10,7 @@
10
10
  url: https://httpbin.org/delay/1
11
11
  asserts:
12
12
  - ["status", "eq", 200]
13
- - ["response_time", "lt", 1000]
13
+ - ["response_time", "lt", 3000] # 给1秒延迟留出合理的缓冲时间
14
14
  # 全局重试配置
15
15
  retry_assertions:
16
16
  count: 2