summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Clean out some small C dependencies.Eric S. Raymond2020-11-111-42/+40
|
* Booleanization.Eric S. Raymond2020-11-111-12/+12
|
* Typo fix.Eric S. Raymond2020-11-111-1/+1
|
* Fix two minor m4 errors found by Daniel Brooks.Eric S. Raymond2020-11-111-2/+2
|
* Eliminate almost all forward declarations from C99.Eric S. Raymond2020-11-111-812/+700
| | | | One less C-ism to deal wit h when porting to a new target languages.
* Add a test for trailing conyext rules. Fix the bug it turned up.Eric S. Raymond2020-11-112-5/+7
| | | | | Also, roperly condition some variables related to trailing contexts. Makes generated parsers ever so slightly smaller in this case.
* Add a trailing guard to the magic-rewrite recignizer.Eric S. Raymond2020-11-101-2/+2
|
* Successful elimination of preprocessor dependencies fromm C99 skeleton.Eric S. Raymond2020-11-102-24/+43
| | | | | | There's only one left. in the prefix code. We leave that in place because ity will be needed if we ever want to replace the default C back end with C99.
* Change two member names to make rewite rules easier.Eric S. Raymond2020-11-091-11/+11
|
* Explain why 3 API functions don't have magic rewrite rules.Eric S. Raymond2020-11-091-48/+48
| | | | | The functions are: yy_current_buffer(), yy_flush_current_buffer(), and yy_set_interactive().
* yy_flex_debug -> yyflexdebug.Eric S. Raymond2020-11-083-18/+22
|
* Make the rewrite flag visible.Eric S. Raymond2020-11-081-0/+5
|
* Fully m4ize yymore()Eric S. Raymond2020-11-082-25/+23
|
* Add a test for yymore, and fix a bug it turned up.Eric S. Raymond2020-11-072-2/+2
|
* m4ize yyreject() handling.Eric S. Raymond2020-11-063-28/+23
|
* Fix errors that were masking problems with yyreject().Eric S. Raymond2020-11-041-1/+2
| | | | | | | Ensure that derived skel.h includes are removed on every clean. Fix a bad shell line that prevented proper cleaming of derived *.c files from tests.
* Revert "Successful m4ization of yyreject()."Eric S. Raymond2020-11-042-25/+24
| | | | | | There seems to be something in the build recipe or test system that makes the yyreject test unreliable. Reverting until I figure out what.
* YY_AT_BOL() -> yyatbol(), yy_set_bol() -> yysetbol(), and make them magic.Eric S. Raymond2020-11-033-32/+44
| | | | | | | | | | | | | | | | | | | | | | The tradeoff is a bit delicate here; yy_set_bol() did not strictly speaking need to change. On the other hand, squeezing the underscores out of YY_AT_BOL() but not yy_set_bol() would have been exactly the kind of irregularity that people trip over and curse. The underlying issue is of course languages like Go and Python with validators that get upset by all caps and embedded underscores. On the one hand, we want to not be churning the Flex API gratuitously. On the other hand it is desirable if as few entry point names as possible need to change in different target languages. The approach I'm taking to deciding this question in individual cases is this: if an entry point name is likely to appear in actions, and must be recognized as magic by Flex itself in order to have a final context argument added or an object reference prepended, then it must be multilanguage-safe - not all-caps and no underscores. Any name that does *not* need to be wired into Flex can be left alone. Users may have to change it when they port.
* Implement and document the rewrite/norewrite option.Eric S. Raymond2020-11-034-3/+10
|
* Pull two random flags into the ctrl structure.Eric S. Raymond2020-11-023-15/+15
| | | | Also, some documentation polishing.
* Successful m4ization of yyreject().Eric S. Raymond2020-11-022-24/+25
|
* yyless is successfully m4ized.Eric S. Raymond2020-11-021-15/+15
|
* Modify the reject.rules ruleset so it actually tests yyreject().Eric S. Raymond2020-10-312-14/+23
| | | | | This turns up the fact that m4ization of yyrehect() didn't work, so we back that change out.
* m4ize handling of yyterminate, and translate another stray #define.Eric S. Raymond2020-10-316-19/+26
|
* More small steps towards taking cpp out of the required pipeline.Eric S. Raymond2020-10-303-50/+35
|
* Convert yyreject() from a cpp macro to an m4 macro.Eric S. Raymond2020-10-302-22/+16
|
* Add %option bufsize, required for testing under non-C targets...Eric S. Raymond2020-10-297-7/+27
| | | | ...since we can't count on the C preprocessor to do it.
* Abolish a platform microtweak after consulting with Will Estes.Eric S. Raymond2020-10-292-30/+22
|
* More de-preprocessorization.Eric S. Raymond2020-10-291-25/+17
|
* In C99, make --nounistd a no-op. Explain this in the manual.Eric S. Raymond2020-10-291-11/+1
|
* In C99, assume <stdint.h> is available to simplify the code.Eric S. Raymond2020-10-281-7/+6
|
* Convert handling of USER_ACTION, YY_END_OF_BUFFER_CHAR, YY_STATE_BUF_SIZE...Eric S. Raymond2020-10-281-10/+3
| | | | | ...to use pure m4, not cpp.
* In C99, de-cpp-izee processing of USER_INIT and RULE_SETUP.Eric S. Raymond2020-10-281-15/+14
| | | | Also, fix a harmless compiler warning introced three commits back.
* In C99, process yylex declaration stting directly through m4...Eric S. Raymond2020-10-282-8/+15
| | | | | ...instead of relying on cpp to do it. This commit also adds a test for correctness of yydecl on all back ends.
* In C99, remove more preprocessor dependencies.Eric S. Raymond2020-10-281-1/+1
|
* Remove cpp from the way the extra type is handled, use pure m4 instead.Eric S. Raymond2020-10-283-23/+22
| | | | | Has the effect of making the code a bit smaller when no extra type is born.
* Finally ever the dependency on the YY_FATAL_ERROR macro.Eric S. Raymond2020-10-284-11/+14
| | | | Still supported as a legacy interface in the default back end.
* Eliminate YY_BREAK macro, replaced with an m4 hook.Eric S. Raymond2020-10-284-20/+7
|
* A step towards getting rid of YY_FATAL_ERROR...Eric S. Raymond2020-10-285-33/+33
| | | | ...because we can no longer depend on cpp to be in the pipeline.
* Remove for cpp dependencies.Eric S. Raymond2020-10-281-54/+10
|
* In C99, abolish indirection through a void pointer...Eric S. Raymond2020-10-281-362/+311
| | | | | | ...to get to the scanner internals structure. While this was a valiant effort at information hiding, it won't port out of C to any other plausible target language. That being the case, we cut the LOC.
* Remove cpp dependencies.Eric S. Raymond2020-10-281-2/+2
|
* Sever a number of dependencies on cpp by adding rewrite rules...Eric S. Raymond2020-10-286-189/+237
| | | | | | | | | ...in the flex scanner. Presently this works for yyecho(), yyinput(), yystart(), yybegin(), and yyunput(). These no longer need to be nacros. A few more remain to be done, notably yyless() and yymore(). Along the way, deprecate YY_FATAL_ERROR and add a replacement option.
* Clean C preprocessor assumptions out of C99.Eric S. Raymond2020-10-281-44/+48
| | | | Also, continue booleanizing where we can.
* Outside cpp #define doesn't work, so deprecate YY_FLEX_SUBMINOR_VERSION.Eric S. Raymond2020-10-281-5/+4
|
* Remove an ugly little knor in the C99 yyunput code...Eric S. Raymond2020-10-261-6/+5
| | | | | | ..left there from a weird compromise when the default C back end also supported C++. Add a yyunput ruleset testing it on all back ends to verify that the change is good.
* Fix C emission lurking previously undiscovered in nfa.c.Eric S. Raymond2020-10-263-16/+30
|
* In C99, factor a nasty hunk of macrology into a function.Eric S. Raymond2020-10-261-28/+29
|
* In C99, use bools where it is semantically reasonable.Eric S. Raymond2020-10-261-31/+29
| | | | | Also, abandon the old-fashioned practice of using ! as a NULL test on pointer-valued expressions.
* In C99, group macros for use in user actions...Eric S. Raymond2020-10-261-183/+185
| | | | | | | ..and move the group as late in the generated code as we can. There's no reason for those to be in scope when tables are being generated.