]> granicus.if.org Git - re2c/commit
Split DFA intermediate representation in two parts: DFA and ADFA.
authorUlya Trofimovich <skvadrik@gmail.com>
Wed, 30 Dec 2015 20:52:33 +0000 (20:52 +0000)
committerUlya Trofimovich <skvadrik@gmail.com>
Wed, 30 Dec 2015 20:52:33 +0000 (20:52 +0000)
commitfdd15074afb75fbbd7e3b791d0528626c9fe14ed
tree736742a57efe482c95b553908de03c2037b947a5
parent0a9eb7553d1b2d3cedc1203084edd1327299ef2c
Split DFA intermediate representation in two parts: DFA and ADFA.

ADFA stands for 'action DFA', that is, DFA with actions.

During DFA construction (aka NFA determinization) it is convenient
to represent DFA states as indexes to array of states.
Later on, while binding actions, it is more convanient to store
states in a linked list.
21 files changed:
re2c/Makefile.am
re2c/bootstrap/src/parse/lex.cc
re2c/bootstrap/src/parse/parser.cc
re2c/src/codegen/emit.h
re2c/src/codegen/emit_action.cc
re2c/src/codegen/emit_dfa.cc
re2c/src/codegen/go_construct.cc
re2c/src/codegen/go_emit.cc
re2c/src/codegen/go_used_labels.cc
re2c/src/codegen/prepare_dfa.cc
re2c/src/codegen/scc.cc
re2c/src/codegen/skeleton/skeleton.cc
re2c/src/codegen/skeleton/skeleton.h
re2c/src/ir/adfa/action.h [moved from re2c/src/ir/dfa/action.h with 93% similarity]
re2c/src/ir/adfa/adfa.cc [new file with mode: 0644]
re2c/src/ir/adfa/adfa.h [new file with mode: 0644]
re2c/src/ir/compile.cc
re2c/src/ir/dfa/dfa.cc
re2c/src/ir/dfa/dfa.h
re2c/src/ir/dfa/state.h [deleted file]
re2c/src/parse/parser.ypp