From ace2f9f178dd25bee4d9de661050c7ca6a9187e6 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Thu, 10 Sep 2020 02:14:47 -0700 Subject: Added escape ranges --- bpeg.bpeg | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'bpeg.bpeg') diff --git a/bpeg.bpeg b/bpeg.bpeg index b90f7d0..ef08239 100644 --- a/bpeg.bpeg +++ b/bpeg.bpeg @@ -7,7 +7,7 @@ def = @[name]ref __ `= __ @[definition]extendedPat; # This is used for command line arguments: stringGrammar = *(`\ pat ?`; / .); -pat = empty / dot / string / charRange / char / escape / no / anythingBut +pat = empty / dot / string / charRange / char / escapeRange / escape / no / anythingBut / uptoAnd / repeat / after / before / capture / replace / ref / parens; empty = `/ >(__ (`}/`})); @@ -18,7 +18,9 @@ string = ( ); charRange = `` @[low]. `- @[high].; char = `` @[s].; -escape = `\ @[s]( +escapeRange = `\ @[low]escapeSequence `- @[high]escapeSequence; +escape = `\ @[s]escapeSequence; +escapeSequence = ( 1-3 `0-7 / `x 2 (`0-9/`a-f/`A-F) /`a/`b/`e/`n/`r/`t/`v / . / \n -- cgit v1.2.3