def if_statement(): return '{', keyword('if'), -1, left_paren, expression, -1, right_paren, -1, (operator, -1, left_paren, expression, -1, right_paren), '}', -1, smarty_language, -1, [else_statement, elseif_statement], '{/', keyword('if'), '}' def for_statement(): return '{', keyword('foreach'), -1, [for_from, for_item, for_name, for_key], '}', -1, smarty_language, 0, foreachelse_statement, '{/', keyword('foreach'), '}'
def for_statement(): return '{', keyword('foreach'), -1, [for_from, for_item, for_name, for_key], '}', -1, smarty_language, 0, foreachelse_statement, '{/', keyword('foreach'), '}' """
def for_key(): return junk, keyword('key'), '=', 0, ['"', '\''], symbol, 0, ['"', '\''], junk def elseif_statement(): return '{', keyword('elseif'), -1, left_paren, expression, -1, right_paren, -1, (operator, -1, left_paren, expression, -1, right_paren), '}', -1, smarty_language
def elseif_statement(): return '{', keyword('elseif'), -1, left_paren, expression, -1, right_paren, -1, (operator, -1, left_paren, expression, -1, right_paren), '}', -1, smarty_language def if_statement(): return '{', keyword('if'), -1, left_paren, expression, -1, right_paren, -1, (operator, -1, left_paren, expression, -1, right_paren), '}', -1, smarty_language, -1, [else_statement, elseif_statement], '{/', keyword('if'), '}'
def else_statement(): return '{', keyword('else'), '}', -1, smarty_language def foreachelse_statement():return '{', keyword('foreachelse'), '}', -1, smarty_language
def foreachelse_statement():return '{', keyword('foreachelse'), '}', ANY_NUMBER_OF, smarty_language def print_statement(): return '{', OPTIONALLY, 'e ', expression, '}'
def for_statement(): return '{', keyword('foreach'), ANY_NUMBER_OF, [for_from, for_item, for_name, for_key], '}', ANY_NUMBER_OF, smarty_language, OPTIONALLY, foreachelse_statement, '{/', keyword('foreach'), '}' """
def equals_operator(): return ['==', keyword('eq')] def ne_operator(): return ['!=', keyword('ne'), keyword('neq')]
def elseif_statement(): return '{', keyword('elseif'), ANY_NUMBER_OF, left_paren, expression, ANY_NUMBER_OF, right_paren, ANY_NUMBER_OF, (operator, ANY_NUMBER_OF, left_paren, expression, ANY_NUMBER_OF, right_paren), '}', ANY_NUMBER_OF, smarty_language def if_statement(): return '{', whitespace, keyword('if'), ANY_NUMBER_OF, left_paren, expression, ANY_NUMBER_OF, right_paren, ANY_NUMBER_OF, (operator, ANY_NUMBER_OF, left_paren, expression, ANY_NUMBER_OF, right_paren), whitespace, '}', ANY_NUMBER_OF, smarty_language, ANY_NUMBER_OF, [else_statement, elseif_statement], '{/', keyword('if'), '}'
def if_statement(): return '{', whitespace, keyword('if'), ANY_NUMBER_OF, left_paren, expression, ANY_NUMBER_OF, right_paren, ANY_NUMBER_OF, (operator, ANY_NUMBER_OF, left_paren, expression, ANY_NUMBER_OF, right_paren), whitespace, '}', ANY_NUMBER_OF, smarty_language, ANY_NUMBER_OF, [else_statement, elseif_statement], '{/', keyword('if'), '}' def for_statement(): return '{', keyword('foreach'), ANY_NUMBER_OF, [for_from, for_item, for_name, for_key], '}', ANY_NUMBER_OF, smarty_language, OPTIONALLY, foreachelse_statement, '{/', keyword('foreach'), '}'
def for_key(): return whitespace, keyword('key'), '=', OPTIONALLY, ['"', '\''], symbol, OPTIONALLY, ['"', '\''], whitespace def elseif_statement(): return '{', keyword('elseif'), ANY_NUMBER_OF, left_paren, expression, ANY_NUMBER_OF, right_paren, ANY_NUMBER_OF, (operator, ANY_NUMBER_OF, left_paren, expression, ANY_NUMBER_OF, right_paren), '}', ANY_NUMBER_OF, smarty_language
def for_name(): return whitespace, keyword('name'), '=', OPTIONALLY, ['"', '\''], symbol, OPTIONALLY, ['"', '\''], whitespace def for_key(): return whitespace, keyword('key'), '=', OPTIONALLY, ['"', '\''], symbol, OPTIONALLY, ['"', '\''], whitespace
def for_from(): return whitespace, keyword('from'), '=', OPTIONALLY, ['"', '\''], expression, OPTIONALLY, ['"', '\''], whitespace def for_item(): return whitespace, keyword('item'), '=', OPTIONALLY, ['"', '\''], symbol, OPTIONALLY, ['"', '\''], whitespace
def and_operator(): return [keyword('and'), '&&'] def or_operator(): return [keyword('or'), '||']
def for_from(): return junk, keyword('from'), '=', 0, ['"', '\''], expression, 0, ['"', '\''], junk def for_item(): return junk, keyword('item'), '=', 0, ['"', '\''], symbol, 0, ['"', '\''], junk
def or_operator(): return [keyword('or'), '||'] def equals_operator(): return ['==', keyword('eq')]
def for_item(): return junk, keyword('item'), '=', 0, ['"', '\''], symbol, 0, ['"', '\''], junk def for_name(): return junk, keyword('name'), '=', 0, ['"', '\''], symbol, 0, ['"', '\''], junk
def ne_operator(): return ['!=', keyword('ne'), keyword('neq')] def gt_operator(): return ['>', 'gt']
def for_name(): return junk, keyword('name'), '=', 0, ['"', '\''], symbol, 0, ['"', '\''], junk def for_key(): return junk, keyword('key'), '=', 0, ['"', '\''], symbol, 0, ['"', '\''], junk
def foreachelse_statement():return '{', keyword('foreachelse'), '}', -1, smarty_language def print_statement(): return '{', 0, 'e ', expression, '}'
def else_statement(): return '{', keyword('else'), '}', ANY_NUMBER_OF, smarty_language def foreachelse_statement():return '{', keyword('foreachelse'), '}', ANY_NUMBER_OF, smarty_language