diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2019-09-16 18:09:11 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-09-16 18:09:11 (GMT) |
commit | cb013aff054c246d99f1211acf16312a27da7be1 (patch) | |
tree | 36e39a359edda686e31364ea5be7707f9220de7e /src/scan_states.py | |
parent | 3cf30e72e6b58c70c5a8330cecec4b33fa736852 (diff) | |
download | Doxygen-cb013aff054c246d99f1211acf16312a27da7be1.zip Doxygen-cb013aff054c246d99f1211acf16312a27da7be1.tar.gz Doxygen-cb013aff054c246d99f1211acf16312a27da7be1.tar.bz2 |
Simplified code generated by scan_states.py
Diffstat (limited to 'src/scan_states.py')
-rw-r--r-- | src/scan_states.py | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/scan_states.py b/src/scan_states.py index 7f69fdd..e156b97 100644 --- a/src/scan_states.py +++ b/src/scan_states.py @@ -24,30 +24,26 @@ def main(): lex_file = sys.argv[1] if (os.path.exists(lex_file)): #write preamble - print("#define scanStateToString(x) case x: resultString = #x; break;"); - print("static const char *stateToString(int state)"); - print("{"); - print(" const char *resultString;"); - print(" switch(state)"); - print(" {"); - print(" scanStateToString(INITIAL)"); + print("static const char *stateToString(int state)") + print("{") + print(" switch(state)") + print(" {") + print(" case INITIAL: return \"INITIAL\";") with open(lex_file) as f: for line in f: if re.search(r'^%x', line) or re.search(r'^%s', line): - print(" scanStateToString(%s)"%line.split()[1]); + state = line.split()[1] + print(" case %s: return \"%s\";" % (state,state)) elif re.search(r'^%%', line): break else: pass f.close() #write post - print(" default: resultString = \"Unknown\"; break;") print(" }") - print(" return resultString;") + print(" return \"Unknown\";") print("}") - - if __name__ == '__main__': main() |