\r
variable_expression\r
=\r
- variable_open type:`variable` name:variable_identifier { !variable_close {SP}* filters+:variable_filter }* variable_close\r
+ variable_open type:`variable` name:variable_identifier variable_close\r
;\r
variable_open\r
=\r
=\r
variable:( LITERAL | IDENTIFIER )\r
accessors:{ variable_accessor }*\r
+ { {SP}* filters+:variable_filter }*\r
;\r
\r
variable_accessor\r
+from datetime import datetime\r
from tatsu.util import asjson\r
import json\r
import tatsu\r
-from datetime import datetime\r
+import sys\r
\r
\r
with open('grammar.ebnf', 'r') as tatsu_grammar:\r
\r
print(json.dumps(asjson(ast), indent=2))\r
\r
- print("Grammar", grammar_end - grammar_start)\r
- print("Parser", parse_end - parse_start)
\ No newline at end of file
+ print("Grammar", grammar_end - grammar_start, file=sys.stderr)\r
+ print("Parser", parse_end - parse_start, file=sys.stderr)
\ No newline at end of file
# for item in seq:\r
<li>{{ item }}</li> ## this comment is ignored\r
# endfor\r
-</ul>
\ No newline at end of file
+</ul>\r
+{% set reply | wordwrap %}\r
+ You wrote:\r
+ {{ message }}\r
+{% endset %}
\ No newline at end of file