From c9ff0ff04b2d1922bcfe5b1106b9979c29b167a2 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sat, 14 Jul 2018 14:52:28 -0700 Subject: Fixed up some edge cases with parsing and comments. --- nomsu.peg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'nomsu.peg') diff --git a/nomsu.peg b/nomsu.peg index 565e8b4..d06c1ff 100644 --- a/nomsu.peg +++ b/nomsu.peg @@ -4,7 +4,7 @@ file (File): comment? blank_lines? (chunk (nl_nodent chunk_delimeter nl_nodent chunk)*)? blank_lines? - (!! .+ -> "Parse error" !!)? + %ws* (!! .+ -> "Parse error" !!)? nodent: =curr_indent !(" ") indent: =curr_indent " " @@ -45,7 +45,7 @@ indented_expression: indented_text / indented_nomsu / indented_list / indented_dict / ({| ("(..)")? nl_indent (block / action / expression) (nl_nodent comment)* - (!! [^%nl]+ -> "Unexpected character while parsing indented expression" !!)? + (eol / (!! [^%nl]+ -> "Unexpected character while parsing indented expression" !!)) |} -> unpack) expression: inline_expression @@ -121,7 +121,7 @@ inline_list (List): (inline_list_item (%ws* ',' %ws* inline_list_item)* (%ws* ',')?)? %ws* ("]" / (","? ( (!! eol -> "Line ended before finding a closing ]-bracket" !!) - /(!! [^%nl]+ -> "Unexpected character while parsing List" !!)? + /(!! [^%nl]+ -> "Unexpected character while parsing List" !!) ))) indented_list (List): "[..]" eol nl_indent -- cgit v1.2.3