| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
In skeleton files comments are indicated by leading `%#` and when
directly read in using `flex -S <skeleton.skl>` they should be
ignored. Example: `flex.skl`.
Amending commit 2f21edac99b5efc432417233e6e53326d630e08f which removed
this conditional branch.
|
|
|
|
| |
Using regex_t regex_blank_line is *slow*.
|
|
|
|
|
|
| |
It's simply to return (regexec(®ex_blank_line, str, 0, NULL, 0) == 0);
The reason for encapsulation is to allow replacing this with a
non-regex method if necessary.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
**Issue:**
Scanner generation leaks memory for transition tables when invoked
without `--tables-file` option.
**Root cause:**
`gentabs` function has different memory acquire/release conditions.
**Solution:**
Reclaim memory at the same scope where it was alloacated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
**Issue:**
Scanner postprocessing leaks memory during correction of `#line`
directives values and generation of C header file.
**Root cause:**
`filter_fix_linedirs` and `filter_tee_header` functions do not
dispose allocated memory.
**Solution:**
Automatically reclaim affected memory by allocating it on stack
insted of heap. Stack allocation should not be a problem as its
only 512 bytes and there is no recursive calls.
|
| |
|
|
|
|
| |
Fixes #193
|
| |
|
|
|
|
|
|
| |
In a directory containing multiple scanners, we want to allow
specifying the name of the backup file else the backup files will be
overwritten.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes: #222
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
NetBSD had a crash during build. Since the provided substitute for
reallocarray() wasn't working, use NetBSD's reallocarr(). Let
configure choose that function whenever it is available. Use
reallocarray if available. Still fallback if neither is available.
Fixes #219
|
| |
|
|
|
|
|
|
|
| |
A #line pre-processor directive specifies the line number and source
file of the following lines. If the source file _is_ the current file,
the line number should be that of the line following the directive. So
the specified line number should be the current line number plus 1.
|
| |
|
| |
|
|
|
|
| |
Unattributed patch carried over from sourceforge bug tracker.
|
| |
|
|
|
|
|
|
|
| |
-C*f and -C*F option-specific test files collide on case-insensitive
file systems, and cause tests to either not be run at all, or to
overwrite each other's files at build time. So rename -C*F ones to
-C*_F.
|
| |
|
|
|
|
|
| |
We generate gpg signatures in place for releases. Since these should
not be tracked in the flex repo itself, we tell git to ignore them.
|
|
|
|
|
| |
Since we no longer generate *.tar.bz2 archives, we do not need to tell
git to ignore them.
|
| |
|
|
|
|
| |
* NEWS: Record release date.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The user may have defined the yy_* macros themselves. In that case,
don't clobber them.
|
|
|
|
|
|
|
| |
This allowed unnamespaced definitions to leak into header files,
breaking client code.
Fixes #142
|
|
|
|
|
| |
This can happen in the case of // comments (which Flex doesn't handle
specially).
|
|
|
|
|
| |
This really should never happen, but this at least fixes the
breakage on Verilator.
|
|
|
|
|
|
|
|
| |
When running 'make V=0 check', some compile and link steps are made
less verbose and some are not. This cleans up most steps that are
not.
These have no effect if V=0 is not specified.
|
|
|
|
|
|
| |
Since the comments in flex.skl are, by hypothesis, not needed in
skel.c, we remove them. THis reduces the size of the resulting
executable somewhat.
|
|
|
|
|
|
| |
Files in lib/ are picked up and built using makefile directives in
src/Makefile.am. Remove the need to generate lib/Makefile.in and the
stub lib/Makefile.am.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Don't call isascii() here. It's deprecated in POSIX and not needed
for myesc's case.
* The check of the character class and range here should match what's
defined as {ESCSEQ} in scan.l, so for [[:xdigit:]] we use isxdigit();
for [0-7] we check '0' <= c <= '7' (not isdigit(c) because isdigit is
locale-dependant in standard's sense)
* Add missing length limit for "\x<hex>" (<hex> is at most 2 digits)
|