From bb9562e4fcd400b37a8afc624f74c259c8e3c7ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kat=20March=C3=A1n?= Date: Tue, 15 Dec 2020 17:46:12 -0800 Subject: [PATCH] add some fixmes to the grammar --- SPEC.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SPEC.md b/SPEC.md index c1f3cd8..477bd16 100644 --- a/SPEC.md +++ b/SPEC.md @@ -90,13 +90,16 @@ The following characters cannot be used anywhere in a bare [Identifier](#identif ## Full Grammar ``` +// FIXME: I don't... think this is quite right? nodes := linespace* (node (newline nodes)? linespace*)? +// FIXME: This is missing the newline at the end? And is the single-line-comment thing correct? node := identifier (node-space node-argument)* (node-space node-document)? single-line-comment? node-argument := prop | value node-children := '{' nodes '}' node-space := ws* escline ws* | ws+ +// FIXME: This needs adjustment to the new, unicode-friendly version identifier := [a-zA-Z] [a-zA-Z0-9!$%&'*+\-./:<>?@\^_|~]* | string prop := identifier '=' value value := string | raw_string | number | boolean | 'null' @@ -127,6 +130,7 @@ escline := '\\' ws* (single-line-comment | newline) linespace := newline | ws | single-line-comment +// FIXME: This needs to support all unicode newline chars. See #27 newline := ('\r' '\n') | '\n' ws := bom | ' ' | '\t' | multi-line-comment | slashdash-comment