summaryrefslogtreecommitdiff
path: root/doc/c1/grammar/peg.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/c1/grammar/peg.txt')
-rw-r--r--doc/c1/grammar/peg.txt93
1 files changed, 0 insertions, 93 deletions
diff --git a/doc/c1/grammar/peg.txt b/doc/c1/grammar/peg.txt
deleted file mode 100644
index 7b28a99..0000000
--- a/doc/c1/grammar/peg.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-# Standard PEG notation
-
-Stream <- Unit ( Blank Unit )* !.
-
-
-Unit <- Blank* Datum
-
-Blank <- [\t-\r ] / Comment
-
-
-Datum <- OneDatum ( JoinChar? OneDatum )*
-
-JoinChar <- '.' / ':'
-
-
-Comment <- ';' ( SkipUnit / SkipLine )
-
-SkipUnit <- '~' Unit
-
-SkipLine <- (!'\n' .)* '\n'?
-
-
-OneDatum <- BareString / CladDatum
-
-
-BareString <- SpecBareChar ( BareChar / JoinChar )*
- / BareChar+
-
-SpecBareChar <- '+' / '-' / JoinChar / DIGIT
-
-BareChar <- ALPHA / DIGIT
- / '!' / '$' / '%' / '*' / '+' / '-' / '/'
- / '<' / '=' / '>' / '?' / '^' / '_' / '~'
-
-
-CladDatum <- PipeStr / QuoteStr / HashExpr / QuoteExpr / List
-
-PipeStr <- '|' ( PipeStrChar / '\' StringEsc )* '|'
-QuoteStr <- '"' ( QuotStrChar / '\' StringEsc )* '"'
-HashExpr <- '#' HashExprs
-QuoteExpr <- "'" Datum / '`' Datum / ',' Datum
-List <- ParenList / SquareList / BraceList
-
-
-PipeStrChar <- (![|\\] .)
-QuotStrChar <- (!["\\] .)
-
-StringEsc <- '\' / '|' / '"' / ( HTAB / SP )* LF ( HTAB / SP )*
- / '0' / 'a' / 'b' / 't' / 'n' / 'v' / 'f' / 'r' / 'e'
- / 'x' HexByte* ';'
- / 'u' UnicodeSV ';'
-
-HexByte <- HEXDIG HEXDIG
-UnicodeSV <- HEXDIG+
-
-
-HashExprs <- '!' [\t ]* HBangLine '\n'?
- / '%' Label ( '%' / '=' Datum )
- / '\' BareString / CladDatum
- / Rune ( '\' BareString / CladDatum )?
-
-HBangLine <- HBChars+ [\t ]* ( HBChars+ )?
-HBChars <- (![\t\n ] .)
-Label <- HEXDIG+
-Rune <- ALPHA ( ALPHA / DIGIT )*
-
-
-ParenList <- '(' ListBody ')'
-SquareList <- '[' ListBody ']'
-BraceList <- '{' ListBody '}'
-
-ListBody <- Unit* ( Blank* '&' Unit )? Blank*
-
-
-DIGIT <- [0-9]
-ALPHA <- [a-zA-Z]
-HEXDIG <- [0-9a-fA-F]
-
-
-# Keep this in sync line-for-line with the ZBNF grammar for easy
-# comparison between the two.
-
-# This file is meant to be compatible with:
-# https://piumarta.com/software/peg
-
-# Due to a quirk in the peg tool this file is used with, the grammar
-# must not allow an empty stream. Therefore, the Unit rule has its
-# Datum declared as mandatory rather than optional.
-
-
-# Local Variables:
-# eval: (flyspell-mode -1)
-# End: