]> granicus.if.org Git - re2c/commit
One pass.
authorUlya Trofimovich <skvadrik@gmail.com>
Wed, 25 Feb 2015 23:13:55 +0000 (23:13 +0000)
committerUlya Trofimovich <skvadrik@gmail.com>
Wed, 25 Feb 2015 23:13:55 +0000 (23:13 +0000)
commit57c14cfbe94f71b1c70b56fd4cf1df38f126f04d
treedc040acb0f0e83d341db169571b6a5316d8c84e8
parent13cc72c88b239a8efe178f1177da51bd88d2d8ea
One pass.

Second pass was used because some information (which influences
early parts of the generated code, e.g enum with condition names
or YYMAXFILL definition) becomes available only at the end of first
pass.

I isolate all (I hope so) these things and generate stubs for them,
which are filled later. I restructured output as follows: the whole
output consists of source and header, each of them is a list of
blocks (corresponding to re2c blocks in source file), each block
is a list of code fragments (which can be either regular strings
with code or stubs that will be filled later).
18 files changed:
re2c/Makefile.am
re2c/bootstrap/parser.cc
re2c/bootstrap/scanner.cc
re2c/code.cc
re2c/code.h
re2c/dfa.h
re2c/globals.h
re2c/main.cc
re2c/output.cc [new file with mode: 0644]
re2c/output.h [new file with mode: 0644]
re2c/parser.h
re2c/parser.y
re2c/re.h
re2c/scanner.h
re2c/scanner.re
re2c/test/error13.1.c
re2c/test/error14.1.c
re2c/test/error14.c