diff options
Diffstat (limited to 'stdlib/source/lux/data/text/regex.lux')
-rw-r--r-- | stdlib/source/lux/data/text/regex.lux | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/stdlib/source/lux/data/text/regex.lux b/stdlib/source/lux/data/text/regex.lux index 34505d157..158eea153 100644 --- a/stdlib/source/lux/data/text/regex.lux +++ b/stdlib/source/lux/data/text/regex.lux @@ -52,31 +52,31 @@ [parts part^] (wrap (text.join-with "" parts)))) -(def: identifier-char^ +(def: name-char^ (l.Lexer Text) (l.none-of "[]{}()s\"#.<>")) -(def: identifier-part^ +(def: name-part^ (l.Lexer Text) (do p.Monad<Parser> [head (refine^ (l.not l.decimal) - identifier-char^) - tail (l.some identifier-char^)] + name-char^) + tail (l.some name-char^)] (wrap (format head tail)))) -(def: (identifier^ current-module) - (-> Text (l.Lexer Ident)) +(def: (name^ current-module) + (-> Text (l.Lexer Name)) ($_ p.either - (p.seq (parser/wrap current-module) (p.after (l.this "..") identifier-part^)) - (p.seq identifier-part^ (p.after (l.this ".") identifier-part^)) - (p.seq (parser/wrap "lux") (p.after (l.this ".") identifier-part^)) - (p.seq (parser/wrap "") identifier-part^))) + (p.seq (parser/wrap current-module) (p.after (l.this "..") name-part^)) + (p.seq name-part^ (p.after (l.this ".") name-part^)) + (p.seq (parser/wrap "lux") (p.after (l.this ".") name-part^)) + (p.seq (parser/wrap "") name-part^))) (def: (re-var^ current-module) (-> Text (l.Lexer Code)) (do p.Monad<Parser> - [ident (l.enclosed ["\\@<" ">"] (identifier^ current-module))] - (wrap (` (: (l.Lexer Text) (~ (code.symbol ident))))))) + [name (l.enclosed ["\\@<" ">"] (name^ current-module))] + (wrap (` (: (l.Lexer Text) (~ (code.symbol name))))))) (def: re-range^ (l.Lexer Code) @@ -194,7 +194,7 @@ (wrap (` ((~! ..copy) (~ (code.symbol ["" (int/encode (.int id))])))))) (do p.Monad<Parser> [_ (l.this "\\k<") - captured-name identifier-part^ + captured-name name-part^ _ (l.this ">")] (wrap (` ((~! ..copy) (~ (code.symbol ["" captured-name])))))))) @@ -384,7 +384,7 @@ (wrap [#Non-Capturing complex])) (do p.Monad<Parser> [_ (l.this "(?<") - captured-name identifier-part^ + captured-name name-part^ _ (l.this ">") [num-captures pattern] (re-alternative^ #1 re-scoped^ current-module) _ (l.this ")")] |