summaryrefslogtreecommitdiffstats
path: root/parsing
diff options
context:
space:
mode:
Diffstat (limited to 'parsing')
-rw-r--r--parsing/codegen.sh60
-rw-r--r--parsing/tokens.sh60
2 files changed, 60 insertions, 60 deletions
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}"
+}