From c4f41ad2502567f641652eb745707d2c2817973b Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Sat, 18 Apr 2026 15:35:46 +0200 Subject: feat(lexer): enforce delimiter requirements --- grammar.ebnf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'grammar.ebnf') diff --git a/grammar.ebnf b/grammar.ebnf index d443a9d..2acd7b0 100644 --- a/grammar.ebnf +++ b/grammar.ebnf @@ -5,7 +5,7 @@ weak-delimiter = "\n"; strong-delimiter = "\n\n", { "\n" }; (* blocks *) -block = title | paragraph | quote | callout | code-block | math-block | image | footnotes; +block = title | paragraph | quote | callout | code-block | math-block | image | footnotes | tag; title = ? #{1,6} ?, " ", content; paragraph = content, { weak-delimiter, content }; quote = ">", content, { weak-delimiter, ">", content }, [ paragraph ]; @@ -16,6 +16,7 @@ image = "![", [ content ], "](", content, ")", { weak-delimiter, content }; list-unordored = "- ", paragraph, { weak-delimiter, "- ", paragraph }; list-ordored = ". ", paragraph, { weak-delimiter, ". ", paragraph }; footnotes = "<", content, ":", paragraph, { weak-delimiter, "<", content, ":", paragraph }; +tag = "#", content; (* content of a block *) content = ? [^\n]+ ? | bold | italic | code-inline | math-inline | link | ref; @@ -25,4 +26,3 @@ code-inline = "`", content, "`"; math-inline = "$", content, "$"; link = "[", [ content ], "](", content, ")"; ref = "<", content, ">"; -tag = "#", ? [^\n ]+ ?; -- cgit v1.2.3