diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2020-10-15 22:12:32 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2020-10-16 06:10:02 -0400 |
commit | 0e32cd6ce31e509d4d8421b87eb06448181b6590 (patch) | |
tree | ace6257e396ba26c7281c6bfa20cb8e219777838 /src/cpp-flex.skl | |
parent | c99e66b54df7828d48d5752686374df72befcbc5 (diff) | |
download | flex-git-0e32cd6ce31e509d4d8421b87eb06448181b6590.tar.gz |
Add and document machinery to choose a back end by name.
Back end is now reported in the metadata comments near the top of
generated files.
All is in readiness for the start of direct work on Go support.
Diffstat (limited to 'src/cpp-flex.skl')
-rw-r--r-- | src/cpp-flex.skl | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/cpp-flex.skl b/src/cpp-flex.skl index 1fa3f0d..f1ee072 100644 --- a/src/cpp-flex.skl +++ b/src/cpp-flex.skl @@ -50,33 +50,32 @@ m4_changequote([[, ]]) %# This is to aid those who edit the skeleton. %# -%# Macro hooks used by Flex start here +%# Properties not used in the skeleton - meant to be read by the Flex code +m4_define([[M4_PROPERTY_BACKEND_NAME]], [[C/C++]]) +%#m4_define([[M4_PROPERTY_SOURCE_SUFFIX]], [[]]) +m4_define([[M4_PROPERTY_TRACE_LINE_REGEXP]], [[^#line ([0-9]+) "(.*)"]]) +m4_define([[M4_PROPERTY_TRACE_LINE_TEMPLATE]], [[#line %d "%s"]]) +%# Macro hooks used by Flex code generators start here m4_define([[M4_HOOK_INT32]], [[flex_int32_t]]) m4_define([[M4_HOOK_INT16]], [[flex_int16_t]]) - m4_define([[M4_HOOK_COMMENT_OPEN]], [[/*]]) m4_define([[M4_HOOK_COMMENT_CLOSE]], [[*/]]) - %# If this is not defined, no trace lines will be generated. m4_define([[M4_HOOK_TRACE_LINE_FORMAT]], [[#line $1 "$2" ]]) -m4_define([[M4_PROPERTY_TRACE_LINE_TEMPLATE]], [[#line %d "%s"]]) m4_define([[M4_HOOK_TABLE_OPENER]], [[{]]) m4_define([[M4_HOOK_TABLE_CONTINUE]], [[},]]) m4_define([[M4_HOOK_TABLE_CLOSER]], [[};]]) - +m4_define([[M4_HOOK_RELATIVIZE]], [[$1]]) m4_define([[M4_HOOK_STATE_ENTRY_FORMAT]], [[ &yy_transition[$1], ]]) - m4_define([[M4_HOOK_EOF_STATE_CASE_ARM]], [[ case YY_STATE_EOF($1):]]) m4_define([[M4_HOOK_EOF_STATE_CASE_FALLTHROUGH]], [[ /* FALLTHROUGH */]]) m4_define([[M4_HOOK_EOF_STATE_CASE_TERMINATE]], [[ yyterminate(); ]]) - m4_define([[M4_HOOK_CONST_DEFINE]], [[#define $1 $2 ]]) - m4_define([[M4_HOOK_SET_YY_DECL]], [[#define YY_DECL $1 ]]) m4_define([[M4_HOOK_SET_YYLMAX]], [[#define YYLMAX $1 @@ -88,9 +87,6 @@ m4_define([[M4_HOOK_SET_PREACTION]], [[#define YY_USER_ACTION $1 m4_define([[M4_HOOK_SET_POSTACTION]], [[#define YY_BREAK $1 ]]) -%# Not used in the skeleton - meant to be read by the Flex code -m4_define([[M4_PROPERTY_TRACE_LINE_REGEXP]], [[^#line ([0-9]+) "(.*)"]]) - %% [0.0] Make hook macros available to Flex m4_ifdef( [[M4_YY_IN_HEADER]], [[m4_dnl |