From a0fb9df099349903b56a81a25ee881a3190054b6 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sun, 21 Feb 2016 03:29:13 -0500 Subject: toktext(): Move to tokens.sh --- diff --git a/parsing/codegen.sh b/parsing/codegen.sh index 6c77eb6..8d9d2fd 100644 --- a/parsing/codegen.sh +++ b/parsing/codegen.sh @@ -6,66 +6,6 @@ sgetc() sc="${sc%.}" } -toktext() -{ - local t="${1}" - shift 1 - local n= - - case "${t%${US}*}" in - # Operators - T_EOF) n='';; - T_NEWLINE) n="${LF}";; - T_AND) n='&';; - T_SEMI) n=';';; - T_AND_IF) n='&&';; - T_OR_IF) n='||';; - T_DSEMI) n=';;';; - T_LESS) n='<';; - 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='<<-';; - T_CLOBBER) n='>|';; - T_PIPE) n='|';; - T_LPAREN) n='(';; - T_RPAREN) n=')';; - # Reserved words - T_IF) n='if';; - T_THEN) n='then';; - T_ELSE) n='else';; - T_ELIF) n='elif';; - T_FI) n='fi';; - T_DO) n='do';; - T_DONE) n='done';; - T_CASE) n='case';; - T_ESAC) n='esac';; - T_WHILE) n='while';; - T_UNTIL) n='until';; - T_FOR) n='for';; - T_LBRACE) n='{';; - T_RBRACE) n='}';; - T_BANG) n='!';; - T_IN) n='in';; - # Special symbols - T_NAME) n="${t#*${US}}";; - T_FNAME) n="${t#*${US}}";; - T_CMDNAME) n="${t#*${US}}";; - T_IO_NUMBER) n="${t#*${US}}";; - T_WORD) n="${t#*${US}}";; - T_ASSIGNMENT_WORD) n="${t#*${US}}";; - # Unknown - *) n='';; - esac - - printf '%s' "${n}" -} - codegen_sub() { local array="${1}" diff --git a/parsing/tokens.sh b/parsing/tokens.sh index 9d2fddd..ae9665b 100644 --- a/parsing/tokens.sh +++ b/parsing/tokens.sh @@ -57,3 +57,63 @@ tokname() printf '%s' "${n}" } + +toktext() +{ + local t="${1}" + shift 1 + local n= + + case "${t%${US}*}" in + # Operators + T_EOF) n='';; + T_NEWLINE) n="${LF}";; + T_AND) n='&';; + T_SEMI) n=';';; + T_AND_IF) n='&&';; + T_OR_IF) n='||';; + T_DSEMI) n=';;';; + T_LESS) n='<';; + 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='<<-';; + T_CLOBBER) n='>|';; + T_PIPE) n='|';; + T_LPAREN) n='(';; + T_RPAREN) n=')';; + # Reserved words + T_IF) n='if';; + T_THEN) n='then';; + T_ELSE) n='else';; + T_ELIF) n='elif';; + T_FI) n='fi';; + T_DO) n='do';; + T_DONE) n='done';; + T_CASE) n='case';; + T_ESAC) n='esac';; + T_WHILE) n='while';; + T_UNTIL) n='until';; + T_FOR) n='for';; + T_LBRACE) n='{';; + T_RBRACE) n='}';; + T_BANG) n='!';; + T_IN) n='in';; + # Special symbols + T_NAME) n="${t#*${US}}";; + T_FNAME) n="${t#*${US}}";; + T_CMDNAME) n="${t#*${US}}";; + T_IO_NUMBER) n="${t#*${US}}";; + T_WORD) n="${t#*${US}}";; + T_ASSIGNMENT_WORD) n="${t#*${US}}";; + # Unknown + *) n='';; + esac + + printf '%s' "${n}" +} -- cgit v0.9.1