From 0b4a81191ae61d53832d85614f0bb0f2912d7a39 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sat, 26 May 2018 13:09:20 -0700 Subject: Minor tidying. --- nomsu.peg | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'nomsu.peg') diff --git a/nomsu.peg b/nomsu.peg index b063ea0..459eb32 100644 --- a/nomsu.peg +++ b/nomsu.peg @@ -7,20 +7,13 @@ file: shebang: "#!" [^%nl]* (!. / %nl) -statement: (action / expression) (eol / (({} ([^%nl]* -> "Error while parsing line")) => error)) -inline_statement: inline_action / inline_expression - inline_block (Block): inline_statement (%ws* ";" %ws* inline_statement)+ block (Block): statement (nodent (statement / (({} ([^%nl]* -> "Error while parsing block line")) => error)))+ -inline_nomsu (EscapedNomsu): "\" noindex_inline_expression -indented_nomsu (EscapedNomsu): - "\" (noindex_inline_expression / (":" %ws* (inline_block / inline_action / inline_expression) eol) / indented_expression) - -index_chain (IndexChain): - noindex_inline_expression ("." (text_word / noindex_inline_expression))+ +statement: (action / expression) (eol / (({} ([^%nl]* -> "Error while parsing line")) => error)) +inline_statement: inline_action / inline_expression noindex_inline_expression: number / variable / inline_text / inline_list / inline_dict / inline_nomsu @@ -31,7 +24,6 @@ noindex_inline_expression: / (({} ([^%nl]* -> 'Error while parsing subexpression')) => error) ) ) - inline_expression: index_chain / noindex_inline_expression indented_expression: @@ -43,7 +35,14 @@ indented_expression: expression: inline_expression / (":" %ws* (inline_block / inline_action / inline_expression) eol) / indented_expression --- Function calls need at least one word in them +inline_nomsu (EscapedNomsu): "\" inline_expression +indented_nomsu (EscapedNomsu): + "\" (noindex_inline_expression / (":" %ws* (inline_block / inline_action / inline_expression) eol) / indented_expression) + +index_chain (IndexChain): + noindex_inline_expression ("." (text_word / noindex_inline_expression))+ + +-- Actions need at least one word in them inline_action (Action): (inline_expression %ws*)* word (%ws* (inline_expression / word))* (%ws* ":" %ws* (inline_block / inline_action / inline_expression))? -- cgit v1.2.3