diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2021-10-21 12:02:14 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2021-10-21 12:02:14 -0700 |
commit | 79fb5e6be113678d4ef0349d2e584f219e567426 (patch) | |
tree | 48aaedc53f40329c1552eb748ad021a76ec3318c /sys/cmd/rc/lex.c | |
parent | faaf40e55e002212c0c28f7845dfa2322eb7ad05 (diff) |
feat(rc): string join operator
Diffstat (limited to 'sys/cmd/rc/lex.c')
-rw-r--r-- | sys/cmd/rc/lex.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/sys/cmd/rc/lex.c b/sys/cmd/rc/lex.c index 8ddf270..5de238e 100644 --- a/sys/cmd/rc/lex.c +++ b/sys/cmd/rc/lex.c @@ -217,6 +217,19 @@ yylex(void) put3('E','O','F'); return EOF; + case '$': + lexer.haddollar = 1; + if(nextis('#')){ + put2('$','#'); + return Tcount; + } + if(nextis('^')){ + put2('$','^'); + return Tjoin; + } + put1('$'); + return '$'; + case '@': lexer.haddollar = 0; put1('@'); @@ -324,19 +337,6 @@ yylex(void) return node->type; - case '$': - lexer.haddollar = 1; - if(nextis('#')){ - put2('$','#'); - return Tcount; - } - if(nextis('^')){ - put2('$','^'); - return Tflat; - } - put1('$'); - return '$'; - case '\'': lexer.hadword = 1; lexer.inquote = 1; |