| conditional_expression_logical\r
| conditional_expression_comparator\r
| conditional_expression_test\r
+ | concatenate_expression\r
| variable_identifier\r
;\r
\r
| "or"\r
;\r
\r
+concatenate_expression\r
+ =\r
+ concatenate+:variable_identifier\r
+ { {SP}* "~" {SP}* concatenate+:variable_identifier }+\r
+ ;\r
+\r
variable_filter\r
=\r
"|" {SP}* @:filter\r
def parse_comment(ast):\r
return\r
\r
+def parse_concatenate_expression(ast):\r
+ vars = [\r
+ parse_variable(var) for var in ast['concatenate']\r
+ ]\r
+\r
+ return nodes.Concat(\r
+ vars,\r
+ lineno=lineno_from_parseinfo(ast['parseinfo'])\r
+ )\r
+\r
def parse_conditional_expression(ast):\r
if 'variable' in ast:\r
return parse_variable(ast)\r
if 'comparator' in ast:\r
return parse_conditional_expression_comparator(ast)\r
\r
+ if 'concatenate' in ast:\r
+ return parse_concatenate_expression(ast)\r
+\r
if 'test_expression' in ast:\r
return parse_conditional_expression_if(ast)\r
\r
...\r
</ul>\r
{{ "[{}]".format(page.title) if page.title }}\r
-{% extends layout_template if layout_template is defined else 'master.html' %}
\ No newline at end of file
+{% extends layout_template if layout_template is defined else 'master.html' %}\r
+{{ "Hello " ~ name ~ "!" }}
\ No newline at end of file