From 872012edc169d128e721b20ecaf5f3875776db37 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Fri, 19 Feb 2016 18:06:07 -0500 Subject: Add missing I/O tokens --- (limited to 'parsing') diff --git a/parsing/lexer.sh b/parsing/lexer.sh index 1f40138..bf6ad7d 100644 --- a/parsing/lexer.sh +++ b/parsing/lexer.sh @@ -113,24 +113,42 @@ next_io() case "${c}" in '<') pgetc - case "${c}" in '<') - pgetc - case "${c}" in '-') + case "${c}" in + '<') + pgetc + case "${c}" in '-') + pgetc + tok=T_DLESSDASH + ;; + esac + tok=T_DLESS + ;; + '&') pgetc - tok=T_DLESSDASH + tok=T_LESSAND + ;; + '>') + pgetc + tok=T_LESSGREAT ;; - esac - tok=T_DLESS - ;; esac tok=T_LESS ;; '>') pgetc - case "${c}" in '>') - pgetc - tok=T_DGREAT - ;; + case "${c}" in + '>') + pgetc + tok=T_DGREAT + ;; + '&') + pgetc + tok=T_GREATAND + ;; + '|') + pgetc + tok=T_CLOBBER + ;; esac tok=T_GREAT ;; diff --git a/parsing/tokens.sh b/parsing/tokens.sh index 37d741b..fef9dc0 100644 --- a/parsing/tokens.sh +++ b/parsing/tokens.sh @@ -17,7 +17,9 @@ tokname() T_GREAT) n='>';; T_DLESS) n='<<';; T_DGREAT) n='>>';; + T_LESS) n='<';; T_LESSAND) n='<&';; + T_GREAT) n='>';; T_GREATAND) n='>&';; T_LESSGREAT) n='<>';; T_DLESSDASH) n='<<-';; -- cgit v0.9.1