aboutsummaryrefslogtreecommitdiff
path: root/nomsu.peg
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-04-08 15:41:05 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2018-04-08 15:41:55 -0700
commitfd621a1062c12b808efd7f8adf1957e0fe978ecc (patch)
tree6e19a251c58c1187a128989f983073bb214052db /nomsu.peg
parenta49e97f0e3a8b69afbc375fac7e04fe49aaf0591 (diff)
Cleaned up LHS of "." operator to avoid adding unnecessary parens so
Lua's parser doesn't get confused by (x).y = 1.
Diffstat (limited to 'nomsu.peg')
-rw-r--r--nomsu.peg7
1 files changed, 4 insertions, 3 deletions
diff --git a/nomsu.peg b/nomsu.peg
index 6f2e9cb..5ea5ee0 100644
--- a/nomsu.peg
+++ b/nomsu.peg
@@ -15,8 +15,9 @@ indented_block (Block):
(dedent / (("" -> "Error while parsing block") => error))
|} -> Tuple
-inline_nomsu (Nomsu): "\" inline_expression
-indented_nomsu (Nomsu): "\" expression
+inline_nomsu (Nomsu): "\" noindex_inline_expression
+indented_nomsu (Nomsu):
+ "\" (noindex_inline_expression / (":" %ws* (inline_functioncall / inline_expression) eol) / indented_expression)
index_chain (IndexChain):
{| noindex_inline_expression ("." ((({} ({|{%operator / (!number plain_word)}|} -> Tuple) {}) -> Text) / noindex_inline_expression))+ |} -> Tuple
@@ -30,7 +31,7 @@ inline_expression:
indented_expression:
indented_text / indented_nomsu / indented_list / indented_dict / indented_block
expression:
- inline_expression / (":" %ws* (inline_functioncall / inline_expression)) / indented_expression
+ inline_expression / (":" %ws* (inline_functioncall / inline_expression) eol) / indented_expression
-- Function calls need at least one word in them
inline_functioncall (FunctionCall):