Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skel backends #26

Open
wants to merge 37 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
c85a67b
refactor(backend): Begin definition of C backend
Mightyjo Jun 1, 2022
274d2ed
refactor(backends): Replace out* calls with backend emits.
Mightyjo Mar 13, 2023
04d2168
refactor(backend): Hide backend implementation details.
Mightyjo Mar 13, 2023
a93fcae
feat(backend): Add backend stack.
Mightyjo Mar 3, 2024
a403019
fix: Restore BUILT_SOURCES because parallel builds are broken
Mightyjo Jan 6, 2025
d63b5a1
feat: Shakeout backend stack bugs
Mightyjo Jan 6, 2025
6d3c92c
feat: Shakeout backend stack bugs
Mightyjo Jan 6, 2025
d029417
feat: Shakeout backend stack bugs
Mightyjo Jan 7, 2025
48c9ea8
fix: Add BUILT_SOURCES sync points for parallel make
Mightyjo Jan 7, 2025
98d6cb7
test: Rename alloc_extra_r.l to match it's reentrant behavior
Mightyjo Jan 7, 2025
3a368c0
test: Add reentrant option to c99 tests
Mightyjo Jan 7, 2025
91982ad
test: Add reentrant option to c99 tests
Mightyjo Jan 7, 2025
e597cbe
test\!: UNDO Turn off tests for fake Go backend
Mightyjo Jan 7, 2025
17cee92
test\!: UNDO Turn off tests for fake Go backend
Mightyjo Feb 4, 2025
442a30f
feat(skel): Add DEAFULT skel ID to enum
Mightyjo Feb 4, 2025
1d8a13e
feat(skel): Comment backend api
Mightyjo Feb 4, 2025
e2ba2a9
feat(skel): remove out, outn, outc, and comment methods
Mightyjo Feb 4, 2025
1ade8dc
feat: Improve comments
Mightyjo Feb 5, 2025
e68c441
feat: Refactor out_m4_define away
Mightyjo Feb 6, 2025
768a4ab
feat: Refactor YY_SC_DEFS emission
Mightyjo Feb 6, 2025
444d622
feat: Refactor out_m4_define away
Mightyjo Feb 6, 2025
8f7a1d3
feat: Refactor out_str_dec away
Mightyjo Feb 6, 2025
d20a7bc
feat: Remove out_hex
Mightyjo Feb 6, 2025
2ce5caa
feat: Remove out_dec
Mightyjo Feb 6, 2025
cd9e319
feat: Remove out_dec2
Mightyjo Feb 6, 2025
c11a706
feat: Remove out_str
Mightyjo Feb 6, 2025
cf14bad
feat: Name backend handle more clearly
Mightyjo Feb 6, 2025
39ab94c
feat: Name backend handle more clearly
Mightyjo Feb 6, 2025
9850f90
feat: Refactor use of optimize_pack output
Mightyjo Feb 6, 2025
2c8fac1
feat: Add C99 backend
Mightyjo Feb 6, 2025
e718036
feat: Add C99 backend
Mightyjo Feb 6, 2025
20899a9
revert: 3a368c0 and 91982ad
Mightyjo Feb 6, 2025
0b4c264
feat: Refactor format string getters out of emission code for use in …
Mightyjo Feb 10, 2025
5a0ccbb
feat: Refactor common emitter code into skeletons.c
Mightyjo Feb 10, 2025
108c923
feat: Replace M4_HOOK with backend calls in parse.y
Mightyjo Feb 10, 2025
3f209cf
feat: Set backend in parse.y when ctrl.emit option is recognized.
Mightyjo Feb 10, 2025
cd56ee7
feat: Fix conditional blocking around backend setup in parse.y
Mightyjo Feb 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ flex-*/
libtool
m4/
stamp-*
.vscode
15 changes: 15 additions & 0 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ endif
COMMON_SOURCES = \
buf.c \
ccl.c \
cpp-backend.c \
cpp-backend.h \
c99-backend.c \
c99-backend.h \
dfa.c \
ecs.c \
filter.c \
Expand All @@ -82,6 +86,7 @@ COMMON_SOURCES = \
scanopt.c \
scanopt.h \
skeletons.c \
skeletons.h \
sym.c \
tables.c \
tables.h \
Expand Down Expand Up @@ -119,6 +124,16 @@ SKELINCLUDES = \
c99-flex.h \
go-flex.h

# DO NOT REMOVE - Ignore StackOverflow
# This variable is misnamed and misunderstood. It tells Make that the named
# sources are synchronization points for parallel builds (e.g. -j8).
# If you remove or change this variable without testing large parallel builds,
# make will fail randomly. Stop "fixing" this based on StackOverflow threads, please.
#
BUILT_SOURCES = $(SKELINCLUDES) stage1scan.c stage2scan.c
#
# DO NOT REMOVE

cpp-flex.h: cpp-flex.skl mkskel.sh flexint_shared.h tables_shared.h tables_shared.c
$(SHELL) $(srcdir)/mkskel.sh cpp $(srcdir) $(m4) $(VERSION) > $@.tmp
$(SHELL) $(srcdir)/chkskel.sh $@.tmp
Expand Down
Loading
Loading