Will Estes [Thu, 12 Sep 2019 20:42:40 +0000 (16:42 -0400)]
doc: document release page in README
Will Estes [Thu, 20 Jun 2019 18:05:30 +0000 (14:05 -0400)]
doc: new translations
Explorer09 [Mon, 19 Mar 2018 14:13:25 +0000 (22:13 +0800)]
scanner: Include-guard flexint_shared.h
This prevents compiler's "redefinition of typedef" warnings or errors
when we could include flexint_shared.h twice, when building flex's own
scanner (scan.c) or in the "multiple_scanners" test in the testsuite.
(Depending on the compiler's flags this might or might not produce
errors, but it's good to guard it anyway.)
Fixes: #329
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
jannick0 [Fri, 29 Dec 2017 15:44:29 +0000 (16:44 +0100)]
scanner: no YYTABLES_NAME macro unless requested
Will Estes [Mon, 7 May 2018 19:27:14 +0000 (15:27 -0400)]
po: include update_linguas script in distribution.
Since automake takes a hands off approach to the po/ directory, we
need to list update_linguas.sh in the top Makefile.am. We list it as a
dist_noinst_SCRIPT so that it will get distributed with executeable
permissions. We also list autogen.sh in the same way for the same
reason.
viktor.shepel [Fri, 23 Mar 2018 15:16:00 +0000 (17:16 +0200)]
doc: display build status badge in README
Simon Sobisch [Fri, 16 Mar 2018 20:53:48 +0000 (21:53 +0100)]
doc: describe mailing list usage in more detail
Jannick [Mon, 8 Jan 2018 13:59:53 +0000 (14:59 +0100)]
doc: amend manual section on state stack functions.
jannick0 [Mon, 8 Jan 2018 09:04:23 +0000 (10:04 +0100)]
scanner: fix default of yy_top_state()
extend fix when `YY_G` is used (reentrant scanner).
jannick0 [Sun, 7 Jan 2018 20:34:32 +0000 (21:34 +0100)]
scanner: fix default of yy_top_state()
For an _empty_ state stack the top of the state stack defaults to the state as if no state stack were present.
NB: sanity check for `yy_start_stack_ptr` could be added in `yy_top_state()`.
Explorer09 [Mon, 12 Mar 2018 02:34:36 +0000 (10:34 +0800)]
build: Add "-f" flag to "mv" in makefiles.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Mon, 12 Mar 2018 02:10:41 +0000 (10:10 +0800)]
build: Fix makefile dist-hook directory permissions.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Thu, 8 Mar 2018 02:00:33 +0000 (10:00 +0800)]
scanner: More compatible flex integer type definitions.
Visual C++ 2010 does not define __STDC_VERSION__, and (before Visual
C++ 2013) has <stdint.h> and not <inttypes.h>.
ANSI/ISO C only requires at least 16 bits for int type (not 32 bits as
required by POSIX since SUSv2), so check the bit length before the
typedef.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Thu, 8 Mar 2018 01:59:35 +0000 (09:59 +0800)]
scanner: Skeleton no longer includes integer limit macros.
The [U]INT{8,16,32}_{MIN,MAX} macros are never used in skeleton code.
Having them in skeleton just increases the chance of conflicts in case
that user defines them in non-C99 environment (see issue #307, when
flex code is built in Visual C++ (before VS2013)).
flexint.h is now split in two files. Only "flexint_shared.h" will be
included in skeleton now, which defines flex integral types.
flexint.h contains integer limits macros that would be used in flex
only.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Thu, 8 Mar 2018 01:54:41 +0000 (09:54 +0800)]
scanner: Add a fallback INT_MAX definition.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Thu, 8 Mar 2018 01:53:24 +0000 (09:53 +0800)]
scanner: correct comments about __STDC_LIMIT_MACROS.
No code changes.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Thu, 8 Mar 2018 02:04:36 +0000 (10:04 +0800)]
scanner: Fix glibc features.h dependency in skeleton.
Commit
a17d79e9c722a6735b6d2a8f152287404f27df32 defines _POSIX_C_SOURCE
to the minimum of 1 if it's not defined in the user's scanner code or
the compiling environment. However in glibc the macros are not yet set
up until one of the libc headers is included. This unfortunately have
made us overwrite the default _POSIX_C_SOURCE value that would be
defined by glibc (200809L at the time of writing), causing regressions
in user code.
Now in this patch:
1. Ensure feature test macros have been set up in glibc before checking
or defining any of them in our skeleton code.
2. Have a more conservative logic when determining the need to define
_POSIX_C_SOURCE (required for fileno()).
Fixes: #313
Note:
It could be tricky for application code to ensure feature test macros
have been set up in glibc, since <features.h> is no portable header and
not meant to be included directly by applications. The way to do it is
to include a libc header which in turn includes <features.h>. However,
many of the glibc headers check __USE_POSIX (a glibc internal macro
defined if _POSIX_C_SOURCE is defined) and determine which interfaces
to expose already, making the headers inappropriate for our goal.
Those which don't depend on _POSIX_C_SOURCE, and are also available
since ANSI C89, are only <assert.h>, <errno.h> and <math.h>.
<assert.h> is finally favored due to other considerations:
- <math.h> check for __USE_XOPEN in glibc, making a dependency on
_XOPEN_SOURCE, besides it exposes much more interfaces than we need.
- In djgpp, <errno.h> depends on _POSIX_SOURCE to hide definitions of
some errno values when it's defined.
- <assert.h> exposes the fewest interfaces among the 3 headers and, at
the time of writing, checks for only C99 (for __func__), C11 (for
_Static_assert), and _GNU_SOURCE when needed.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Sun, 4 Mar 2018 11:59:42 +0000 (19:59 +0800)]
scanner: Fix scan.l xgettext warnings.
xgettext was not very clever at interpreting lex patterns and can get
confused when seeing unquoted quotation marks, and emit warnings for
them. Now fix the warnings by properly quoting the quotation marks in
lex regex patterns.
Example
Original: \"[^"\n]*\" -> "warning: unterminated string literal"
Fixed: "\""[^""\n]*"\"" -> OK
My basic build test shows that the generated stage1scan.c is
bit-identical to the original.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Thu, 22 Feb 2018 18:45:01 +0000 (02:45 +0800)]
travis: '--disable-acl' when building gettext
This silences a configure warning about libacl not found in Travis
build log.
Explorer09 [Fri, 23 Feb 2018 13:20:50 +0000 (21:20 +0800)]
travis: Silence build output of automake and gettext
Only when a build error occurs on building any of these dependent
packages do we dump some sensible logs to standard output.
Kang-Che Sung [Fri, 23 Feb 2018 03:07:29 +0000 (11:07 +0800)]
travis: Hard-code hashes for verifying tarballs
GPG signatures require an external keyserver which might be offline,
which is undesirable for build server use. It's equally secure to just
hard-code the hashes, provided they're trusted (i.e. you verify a hash
against a GPG signature once).
Fixes: #311.
As a side note: the original two signatures
(gettext-0.19.8.1.tar.lz.sig and automake-1.15.1.tar.gz.sig) are signed
against the files' SHA-1 hash.
Explorer09 [Tue, 27 Feb 2018 01:10:12 +0000 (09:10 +0800)]
build: Move dnl comments out of AC_CHECK_FUNCS
Due to a bug, autoheader (2.69) will treat M4 dnl comments in a quoted
argument of AC_CHECK_FUNCS as function tokens and generate a lot of
redundant and useless HAVE_* macros in config.h.in.
(Examples: HAVE_DNL, HAVE_AVAILABLE_, HAVE_BY)
It seems to be this commit
dbb4e94dc7bacbcfd4acef4f085ef752fe1aa03f of
mine that revealed this autoheader bug, and the affected config.h.in
had been shipped within flex-2.6.4 release tarball.
I have reported the autoheader bug here:
<https://lists.gnu.org/archive/html/bug-autoconf/2018-02/msg00005.html>
As a workaround, let's move comments out of AC_CHECK_FUNCS.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Explorer09 [Sat, 24 Feb 2018 15:12:09 +0000 (23:12 +0800)]
test: Remove redundant '-o $@' in tableopts.am
$(LINK) in Automake already contains the '-o $@' arguments.
Will Estes [Wed, 3 Jan 2018 13:47:22 +0000 (08:47 -0500)]
doc: list travis in NEWS [skip ci]
Will Estes [Thu, 28 Dec 2017 23:17:57 +0000 (18:17 -0500)]
initial .travis.yml file
Explorer09 [Sun, 12 Nov 2017 18:11:10 +0000 (02:11 +0800)]
scanner: Allow "--" as option argument.
Previously, invocations such as:
flex --outfile -- wc1.l
would fail with "requires an
argument" error message.
Fixes #285
Explorer09 [Sun, 12 Nov 2017 15:00:10 +0000 (23:00 +0800)]
scanner: scanopt_err() now returns void
Explorer09 [Sun, 12 Nov 2017 13:58:42 +0000 (21:58 +0800)]
scanner: simplify scanopt_usage().
In-function macro CALC_LEN removed and no longer needed.
Local variable renames:
maxlen[0] => opt_col_width
maxlen[1] => desc_col_width
indent now explicitly const
Explorer09 [Fri, 13 Oct 2017 08:59:26 +0000 (16:59 +0800)]
scanner: prevent overflow in add_action()
Michael W. Bombardieri [Wed, 29 Nov 2017 13:11:22 +0000 (08:11 -0500)]
scanner: use calloc to allocate new filter memory
Explorer09 [Mon, 30 Oct 2017 05:29:26 +0000 (13:29 +0800)]
Obsolete yypad64() macro.
Slightly rewrite the logic in yytbl_data_load() and yytbl_write_pad64()
so they simply check if the bytes read/written are in 8-byte boundary.
No need to calculate how many bytes we need to pad. (Incidentally this
makes smaller code in x86_64.)
For yytbl_hdr_init(), just expand the calculation from the macro.
Explorer09 [Fri, 13 Oct 2017 16:31:01 +0000 (00:31 +0800)]
scanner: temporarily protect against ccl overflow & overwriting.
For ccladd(), if cclp given is a non-last ccl, adding a char into it
will overflow the buffer and overwrite the first char in the next ccl.
For now, add a temporary detection and protection code. (Not sure if
this could happen in user input, but if it could, then you can expect
some "corrupted" behavior for generated scanners.)
Explorer09 [Sat, 4 Nov 2017 16:10:03 +0000 (00:10 +0800)]
build: fix ENABLE_NLS preprocessor check.
Because ENABLE_NLS may be defined to 0 (manually, not through
autoconf) and it's semantically incorrect to only check whether it's
defined.
This is a correction to commit
661d603b65385f62f372acd2017e5af2e0f0cd50.
Explorer09 [Fri, 13 Oct 2017 16:32:06 +0000 (00:32 +0800)]
scanner: Rename genecs() local variables. No code changes.
Explorer09 [Fri, 13 Oct 2017 16:47:54 +0000 (00:47 +0800)]
scanner: Remove unused BASENAME() macro.
(Simply forgot to do so in commit
fb731ac0221e1866534dfe072b84b8af7a5d88f3)
Alex Richardson [Thu, 2 Nov 2017 14:24:23 +0000 (14:24 +0000)]
build: use #ifdef for ENABLE_NLS check.
config.h will have either define ENABLE_NLS or not define it. If it is
not defined we get a -Wundef warning due to using #if with an
undefined macro
Explorer09 [Fri, 13 Oct 2017 16:36:54 +0000 (00:36 +0800)]
scanner: Define _POSIX_C_SOURCE when needed in skeleton.
The function fileno() is defined by POSIX. When flex would otherwise not provide that feature macro, we define it.
Fixes #263
Lukasz Baj [Fri, 22 Sep 2017 08:24:46 +0000 (10:24 +0200)]
build: Remove custom reallocarray() declaration.
Use one from <stdlib.h> instead because that is more portable.
Explorer09 [Fri, 22 Sep 2017 09:27:02 +0000 (17:27 +0800)]
scanner: Simplify PRINT_SPACES() macro
Explorer09 [Mon, 4 Sep 2017 02:47:33 +0000 (10:47 +0800)]
build: AC_USE_SYSTEM_EXTENSIONS in configure.ac.
This would, e.g. define _GNU_SOURCE in config.h, enabling the
reallocarray() prototype in glibc 2.26+ on Linux systems with that
version of glibc.
Fixes #241.
Will Estes [Mon, 4 Sep 2017 01:25:57 +0000 (21:25 -0400)]
doc: document config.h inclusion by flex itself
Explorer09 [Mon, 4 Sep 2017 00:28:53 +0000 (08:28 +0800)]
scanner: Include flexdef.h at %top block of scan.l
config.h may define macros that alter the API of the standard library
funtions, and so it should be included before any other standard
header, even before the skeleton's standard header inclusion.
For example: config.h may #define _GNU_SOURCE that would expose the
reallocarray() prototype from <stdlib.h> on glibc 2.26+ systems. If we
include <stdlib.h> before config.h, reallocarray() would not be
available for use in lex file since the second include doesn't help
due to header guard.
For now our config.h might `#define malloc rpl_malloc` -- this
substitution must work before including stdlib.h, or else the compiler
will complain about missing prototypes, and may result in incorrect
code in scan.l (gcc warning: return makes pointer from integer without
a cast [-Wint-conversion]).
Fixes #247.
Explorer09 [Sun, 9 Jul 2017 08:22:28 +0000 (16:22 +0800)]
{re,}allocate_array code cleanup
Will Estes [Sat, 2 Sep 2017 19:07:52 +0000 (15:07 -0400)]
doc: document libfl targets in Makefile
Explorer09 [Mon, 28 Aug 2017 11:38:02 +0000 (19:38 +0800)]
build: Add convenience targets to build libfl only
These are wrappers around automake- and libtool-generated targets,
allowing users to build libfl only, without the main flex program.
See GH-256 for discussion.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Will Estes [Thu, 31 Aug 2017 19:51:25 +0000 (15:51 -0400)]
doc: document src/libfl in NEWS
Explorer09 [Sat, 26 Aug 2017 14:23:50 +0000 (22:23 +0800)]
Don't install libfl.pc if --disable-libfl.
Explorer09 [Sat, 26 Aug 2017 14:16:53 +0000 (22:16 +0800)]
libfl.pc: Rewrite descriptions, remove unneeded Cflags.
There's no need to include any header when linking with `-lfl`.
Explorer09 [Sat, 26 Aug 2017 16:17:57 +0000 (00:17 +0800)]
Move libfl.pc.in to src subdirectory.
Will Estes [Thu, 24 Aug 2017 13:26:02 +0000 (09:26 -0400)]
doc: NEWS updates
Explorer09 [Thu, 20 Jul 2017 04:05:25 +0000 (12:05 +0800)]
Hardcode flex name in --help text
Don't use program_name in the description of -T/--trace or -V/--version
option. It's ugly when user invokes flex with a long path like
"/home/username/tools/bin/my-custom-built-flex".
This solution is not long term. If possible, the help text should be
modified so that the "flex" name is no longer needed below the first
"Usage:" line. All translations of help text will need to be updated
as well.
Explorer09 [Tue, 18 Jul 2017 14:39:00 +0000 (22:39 +0800)]
Remove an unneeded gettext() in --version output
"%s %s\n" is not translatable
Explorer09 [Tue, 18 Jul 2017 14:37:19 +0000 (22:37 +0800)]
scanner: remove BASENAME(); don't strip path from program_name
There's no technical need of stripping path from program_name. I think
the users should be fine if they see the path they use to invoke flex
is diagnostic messages and help texts.
Yes, users will see "Usage: ../flex [OPTIONS]..." now if they invoke
flex with the path "../flex".
The --version output has been changed so that the name field will be
always "flex" or "flex++". If the flex program has been renamed to
"lex" (for compatibility or other reason) this will allow identifying
the implementation name ("flex"). (And it's a recommended practice in
GNU Coding Standards)
Will Estes [Thu, 24 Aug 2017 12:18:11 +0000 (08:18 -0400)]
build: sort .gitignore
Michael Haubenwallner [Wed, 19 Jul 2017 09:36:31 +0000 (11:36 +0200)]
have libobjs depend on libobjdir (#244)
Will Estes [Thu, 24 Aug 2017 12:02:19 +0000 (08:02 -0400)]
build: git ignore libfl.pc
Tyler Slabinski [Thu, 24 Aug 2017 01:33:51 +0000 (21:33 -0400)]
Create libfl.pc target for pkgconfig
Jannick [Mon, 17 Jul 2017 22:47:27 +0000 (00:47 +0200)]
scanner: #define BASENAME, remove #include libgen.h
Jannick [Tue, 18 Jul 2017 00:03:30 +0000 (02:03 +0200)]
mkskel.sh: fix EOL issue for CRLF systems
jannick0 [Sun, 9 Jul 2017 20:36:14 +0000 (22:36 +0200)]
scanner: Ignore comment lines in skeleton files.
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.
Explorer09 [Sat, 8 Jul 2017 12:21:37 +0000 (20:21 +0800)]
filter: faster is_blank_line implementation
Using regex_t regex_blank_line is *slow*.
Explorer09 [Sat, 8 Jul 2017 10:54:30 +0000 (18:54 +0800)]
filter: new internal function is_blank_line()
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.
Will Estes [Thu, 13 Jul 2017 19:14:58 +0000 (15:14 -0400)]
build: require automake, gettext versions as per maintainer dev setup
Will Estes [Mon, 3 Jul 2017 15:49:36 +0000 (11:49 -0400)]
doc: NEWS memory leak fix
viktor.shepel [Tue, 20 Jun 2017 15:22:53 +0000 (18:22 +0300)]
scanner: memory leak free scanner generator.
**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.
viktor.shepel [Tue, 20 Jun 2017 14:03:42 +0000 (17:03 +0300)]
filter: memory leak free scanner postprocessing.
**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.
Will Estes [Mon, 3 Jul 2017 15:21:50 +0000 (11:21 -0400)]
doc: NEWS c{i,j}
NieDzejkob [Thu, 29 Jun 2017 10:38:25 +0000 (12:38 +0200)]
scanner: c{i,j} should preserve case.
Fixes #193
Will Estes [Mon, 3 Jul 2017 13:46:48 +0000 (09:46 -0400)]
doc: document --backup-file in NEWS
EricSharkey [Sun, 21 May 2017 20:09:42 +0000 (16:09 -0400)]
scanner: add optionn to specify backup filename.
In a directory containing multiple scanners, we want to allow
specifying the name of the backup file else the backup files will be
overwritten.
Will Estes [Sun, 18 Jun 2017 17:56:06 +0000 (13:56 -0400)]
doc: new uk translation
Translation Project [Sun, 18 Jun 2017 17:55:11 +0000 (13:55 -0400)]
doc: new uk translation from the Translation Project
Explorer09 [Sun, 4 Jun 2017 04:42:48 +0000 (12:42 +0800)]
doc: formatting fixes in README
Explorer09 [Sun, 4 Jun 2017 04:06:20 +0000 (12:06 +0800)]
test: echo 'set -v' before setting so in shell.
Will Estes [Fri, 26 May 2017 15:23:12 +0000 (11:23 -0400)]
doc: tableopts rule portability mentioned in NEWS
Will Estes [Fri, 26 May 2017 15:21:16 +0000 (11:21 -0400)]
test: remove duplicate shell options line
Explorer09 [Wed, 24 May 2017 07:33:09 +0000 (15:33 +0800)]
test: use portable pattern substitution in tableopts.sh
Fixes: #222
Will Estes [Fri, 19 May 2017 12:05:51 +0000 (08:05 -0400)]
doc: document NetBSD build crash fix
Will Estes [Fri, 19 May 2017 12:03:48 +0000 (08:03 -0400)]
build: remove automake check-news
Thomas Klausner [Fri, 19 May 2017 08:22:44 +0000 (10:22 +0200)]
scanner: Use reallocarr() when available.
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
Will Estes [Sun, 14 May 2017 11:15:36 +0000 (07:15 -0400)]
doc: list line number directives in NEWS
Jeff Smith [Sat, 1 Apr 2017 06:18:12 +0000 (01:18 -0500)]
filter: Output correct #line value for current file.
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.
Will Estes [Sat, 13 May 2017 21:24:55 +0000 (17:24 -0400)]
scanner: corrected typo
Will Estes [Sat, 13 May 2017 21:23:18 +0000 (17:23 -0400)]
doc: noyyget/set_column options documented
Will Estes [Sat, 13 May 2017 19:15:45 +0000 (15:15 -0400)]
scanner: finish support for noyy{get,set}_column.
Unattributed patch carried over from sourceforge bug tracker.
Will Estes [Sat, 13 May 2017 18:24:17 +0000 (14:24 -0400)]
build: .mailmap for cleaning up shortlog
Hans-Bernhard Broeker [Sat, 6 May 2017 22:17:33 +0000 (00:17 +0200)]
test: rename some files for non-case-sensitive filesystems.
-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.
Will Estes [Sun, 7 May 2017 00:26:28 +0000 (20:26 -0400)]
build: 2.6.4 is previous version
Will Estes [Sat, 6 May 2017 20:54:54 +0000 (16:54 -0400)]
build: ignore .sig files.
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.
Will Estes [Sat, 6 May 2017 20:53:14 +0000 (16:53 -0400)]
build: no longer ignore *.tar.bz2
Since we no longer generate *.tar.bz2 archives, we do not need to tell
git to ignore them.
Will Estes [Sat, 6 May 2017 19:10:08 +0000 (15:10 -0400)]
gettext: pulled latest translations; recompiled against current sources
Will Estes [Sat, 6 May 2017 17:06:59 +0000 (13:06 -0400)]
version 2.6.4
* NEWS: Record release date.
Will Estes [Sat, 6 May 2017 16:58:44 +0000 (12:58 -0400)]
note previous version
Will Estes [Sat, 6 May 2017 16:57:58 +0000 (12:57 -0400)]
doc: update NEWS for upcoming release
viktor.shepel [Thu, 4 May 2017 11:55:27 +0000 (14:55 +0300)]
doc: Correct typo in C code sample in manual
Explorer09 [Thu, 4 May 2017 02:52:37 +0000 (10:52 +0800)]
scanner: Mention %# comments are removed when building skel.c
Demi Obenour [Wed, 3 May 2017 00:05:14 +0000 (20:05 -0400)]
Honor user definitions of yy_* macros
The user may have defined the yy_* macros themselves. In that case,
don't clobber them.
Demi Obenour [Tue, 2 May 2017 23:18:14 +0000 (19:18 -0400)]
Don't leak macro definitions into header files
This allowed unnamespaced definitions to leak into header files,
breaking client code.
Fixes #142
Demi Obenour [Wed, 3 May 2017 17:45:11 +0000 (13:45 -0400)]
scanner: Check for 0 bracecount when EOL ends quoted literal.
This can happen in the case of // comments (which Flex doesn't handle
specially).
Demi Obenour [Wed, 3 May 2017 13:34:34 +0000 (09:34 -0400)]
scanner: when bracelevel is negative, treat as zero.
This really should never happen, but this at least fixes the
breakage on Verilator.