summaryrefslogtreecommitdiff
path: root/spec/syntax.zbnf
diff options
context:
space:
mode:
authorTaylan Kammer <taylan.kammer@gmail.com>2026-01-10 17:33:14 +0100
committerTaylan Kammer <taylan.kammer@gmail.com>2026-01-10 17:33:14 +0100
commitb737130c059e8e5566caa7aa3144f910d43999ae (patch)
tree5dfbfface09aed028efbeacd119e6a78e7530f61 /spec/syntax.zbnf
parent29dfeb175122d66bf71fc67ecd80f8df90a9a462 (diff)
More grammar shite.
Diffstat (limited to 'spec/syntax.zbnf')
-rw-r--r--spec/syntax.zbnf59
1 files changed, 0 insertions, 59 deletions
diff --git a/spec/syntax.zbnf b/spec/syntax.zbnf
deleted file mode 100644
index b87efb5..0000000
--- a/spec/syntax.zbnf
+++ /dev/null
@@ -1,59 +0,0 @@
-Unit : Blank* [ Datum [Blank] ]
-
-
-Blank : 9...13 | SP | Comment
-
-Datum : OneDatum ( [JoinChar] OneDatum )*
-
-JoinChar : '.' | ':'
-
-
-Comment : ';' ( SkipUnit | SkipLine )
-
-SkipUnit : '~' Unit
-
-SkipLine : ( ~LF )* [LF]
-
-
-OneDatum : BareString | CladDatum
-
-
-BareString : ( '.' | '+' | '-' | DIGIT ) ( BareChar | '.' )*
- | BareChar+
-
-CladDatum : PipeStr | QuoteStr | HashExpr | QuoteExpr | List
-
-PipeStr : '|' ( PipeStrChar | '\' StringEsc )* '|'
-QuoteStr : '"' ( QuotStrChar | '\' StringEsc )* '"'
-HashExpr : '#' ( RuneExpr | LabelExpr | HashDatum )
-QuoteExpr : "'" Datum | '`' Datum | ',' Datum
-List : ParenList | SquareList | BraceList
-
-BareChar : ALPHA | DIGIT
- | '!' | '$' | '%' | '*' | '+'
- | '-' | '/' | '<' | '=' | '>'
- | '?' | '@' | '^' | '_' | '~'
-
-PipeStrChar : ~( '|' | '\' )
-QuotStrChar : ~( '"' | '\' )
-
-StringEsc : '\' | '|' | '"' | ( HTAB | SP )* LF ( HTAB | SP )*
- | 'a' | 'b' | 't' | 'n' | 'v' | 'f' | 'r' | 'e'
- | 'x' HexByte+ ';'
- | 'u' UnicodeSV ';'
-
-HexByte : HEXDIG HEXDIG
-UnicodeSV : HEXDIG+
-
-RuneExpr : Rune [ '\' BareString | CladDatum ]
-LabelExpr : '%' Label ( '%' | '=' Datum )
-HashDatum : '\' BareString | CladDatum
-
-Rune : ALPHA ( ALPHA | DIGIT )*
-Label : HEXDIG+
-
-ParenList : '(' ListBody ')'
-SquareList : '[' ListBody ']'
-BraceList : '{' ListBody '}'
-
-ListBody : Unit* [ Blank* '&' Unit ] Blank*