aboutsummaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2013-12-19 00:12:27 +0100
committerDrahflow <drahflow@gmx.de>2013-12-19 00:12:27 +0100
commit32cbc8d51504f9a16a59fd5e8e8bc3f74d9943d1 (patch)
tree173c47db1c04a8f7b2a99b72fffccc080082602c /compiler
parentebf93805dfe3365de13cd7064759c9feeb0374a9 (diff)
Refactored away some particularly ugly code
Diffstat (limited to 'compiler')
-rw-r--r--compiler/standardClient.ey33
1 files changed, 8 insertions, 25 deletions
diff --git a/compiler/standardClient.ey b/compiler/standardClient.ey
index 75a2d44..2d62826 100644
--- a/compiler/standardClient.ey
+++ b/compiler/standardClient.ey
@@ -122,34 +122,17 @@
[ { ^d } {
{ _ 0 "0" * ge -01 0 "9" * le and }" terminal =a
tail
- } { ^\ } { # FIXME the following code looks like it could be compressed a bit
- { 0 "\\" * eq }" terminal =a
- tail
- } { ^. } {
- { 0 "." * eq }" terminal =a
- tail
} { ^n } {
{ 0 "\n" * eq }" terminal =a
tail
- } { ^[ } {
- { 0 "[" * eq }" terminal =a
- tail
- } { ^? } {
- { 0 "?" * eq }" terminal =a
- tail
- } { ^* } {
- { 0 "*" * eq }" terminal =a
- tail
- } { ^+ } {
- { 0 "+" * eq }" terminal =a
- tail
- } { ^$ } {
- { 0 "$" * eq }" terminal =a
- tail
- } { ^^ } {
- { 0 "^" * eq }" terminal =a
- tail
- } { 1 } {
+ }
+ [ "." "[" "?" "*" "+" "$" "^" "\\" ] { ==c
+ { _ head 0 c * eq } {
+ { 0 c * eq } terminal =a
+ tail
+ }
+ } each
+ { 1 } {
"invalid character '" "' after \\ in regex" -120 cat cat die
} ] conds
} { 1 } {