summaryrefslogtreecommitdiff
path: root/spec/syntax.peg
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.peg
parent29dfeb175122d66bf71fc67ecd80f8df90a9a462 (diff)
More grammar shite.
Diffstat (limited to 'spec/syntax.peg')
-rw-r--r--spec/syntax.peg63
1 files changed, 0 insertions, 63 deletions
diff --git a/spec/syntax.peg b/spec/syntax.peg
deleted file mode 100644
index 97b9632..0000000
--- a/spec/syntax.peg
+++ /dev/null
@@ -1,63 +0,0 @@
-Unit <- Blank* ( Datum Blank? )?
-
-
-Blank <- ' ' / '\t' / '\n' / Comment
-
-Datum <- OneDatum ( JoinChar? OneDatum )*
-
-JoinChar <- '.' / ':'
-
-
-Comment <- ';' ( SkipUnit / SkipLine )
-
-SkipUnit <- '~' Unit
-
-SkipLine <- (!'\n' .)* '\n'?
-
-
-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*
-
-DIGIT <- [0-9]
-ALPHA <- [a-zA-Z]
-HEXDIG <- [0-9a-fA-F]