aboutsummaryrefslogtreecommitdiff
path: root/grammars/builtins.bp
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2021-05-19 23:41:57 -0700
committerBruce Hill <bruce@bruce-hill.com>2021-05-19 23:41:57 -0700
commit355e06a58e918c6c1d39902b0a14029a16c323ba (patch)
tree0c3aab71519db02338cd70cddbac1358da33fdb2 /grammars/builtins.bp
parent3f0ab96f7f1c60585be7fa39d0595674bf4f6bb1 (diff)
Added ~ and !~ operators as replacements for == and !=
Diffstat (limited to 'grammars/builtins.bp')
-rw-r--r--grammars/builtins.bp10
1 files changed, 5 insertions, 5 deletions
diff --git a/grammars/builtins.bp b/grammars/builtins.bp
index 6c0fc75..42a41ac 100644
--- a/grammars/builtins.bp
+++ b/grammars/builtins.bp
@@ -17,15 +17,15 @@ braces: `{ ..%(\n/braces/string) `}
parens: `( ..%(\n/parens/string) `)
string: `" ..%string-escape `" / `' ..%string-escape `'
string-escape: `\ (`x 2 Hex / 1-3 `0-7 / `u 1-4 Hex / .)
-left-id-edge: ^ / <(\x00-x7f!=id-char) / <((\xc0-xdf \x80-xbf)!=id-char)
- / <((\xe0-xef 2\x80-xbf)!=id-char) / <((\xf0-xf7 3\x80-xbf)!=id-char)
+left-id-edge: ^ / <(\x00-x7f!~(^^id-char)) / <((\xc0-xdf \x80-xbf)!~(^^id-char))
+ / <((\xe0-xef 2\x80-xbf)!~(^^id-char)) / <((\xf0-xf7 3\x80-xbf)!~(^^id-char))
right-id-edge: !id-char
-id: left-id-edge !`0-9 (+id-char)!=keyword
+id: left-id-edge !`0-9 !(keyword left-id-edge) +id-char
id-char: `a-z,A-Z,_,0-9
var: id
keyword: !"" # No keywords defined by default
-left-word-edge: ^ / <(\x00-x7f!=word-char) / <((\xc0-xdf \x80-xbf)!=word-char)
- / <((\xe0-xef 2\x80-xbf)!=word-char) / <((\xf0-xf7 3\x80-xbf)!=word-char)
+left-word-edge: ^ / <(\x00-x7f!~(^^word-char)) / <((\xc0-xdf \x80-xbf)!~(^^word-char))
+ / <((\xe0-xef 2\x80-xbf)!~(^^word-char)) / <((\xf0-xf7 3\x80-xbf)!~(^^word-char))
right-word-edge: !word-char
word-char: `a-z,A-Z,_,0-9,-,'
word: left-word-edge +word-char