| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This turns out to be easy to do in NFA land.
The complement of an NFA has exactly the same number
and configuration of states and transitions, except
that the states have an inverted meaning; and furthermore,
failed character transitions are routed to an extra
state (which in this impelmentation is permanently
allocated and shared by all regexes). The regex &
is implemented trivially using DeMorgan's.
Also, bugfix: regular expressions like A|B|C are allowed
now by the syntax, rather than constituting syntax error.
Previously, this would have been entered as (A|B)|C.
|
| |
|
|
|
|
|
|
|
|
| |
* hash.h (sethash): Declared.
* lib.c (cobj_handle): New function.
* lib.h (cobj_handle): Declared.
|
|
|
|
|
|
| |
no null pointer check over struct cobj_ops operations.
New typechecking function for COBJ objects.
|
| |
|
|
|
|
|
| |
from now on, which is compatible with unsigned char *.
No implicit conversion to or from this type, in C or C++.
|
|
|
|
|
|
|
| |
(more): Update heap_min_bound and heap_max_bound.
(in_heap): Do early rejection tests on the pointer. If it's
not aligned, or it's completely outside of the bounding
box of the heap area, short circuit to false.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
needed because suppressing generation of unput is requested via
the %option. In scanners generated by the legacy version of
flex, 2.5.4, still widely in use. this redundancy leads to
a multiple #define YY_NO_UNPUT and a compiler warning.
|
|/
|
|
|
|
| |
warning options not appropriate for g++. Sometimes
g++ may be called something that dosn't end in g++,
like g++4.
|
|
|
|
| |
gc failing to mark a local variable in txr_main.
|
|
|
|
|
|
|
|
|
| |
during make install-tests, if it doesn't exist in the
install directory, a gcc compile command gets deposited
into the run.sh generated script.
(install-tests): Fixes to make this work when using
a separate build directory. Split the cpio -p job
into a cpio -i piping into cpio -o.
|
|
|
|
|
| |
test cases part of the installation, and a generated script to run the
commands on the installation host.
|
|
|
|
| |
files that are not in the project.
|
|
|
|
|
| |
then remove some C-front-end-specific warnings from CFLAGS,
which the g++ front end will complain about.
|
|
|
|
|
|
| |
This suppresses some warnings from a byacc-generated parser,
and gets rid of a useless static sccsid array. May help with
Bison-generated parser also.
|
|
|
|
|
| |
unused functons yyunput and yyinput, thus getting rid of
some compiler diagnostics.
|
|
|
|
| |
in regex module not exposed in header. Etc.
|
| |
|
|
|
|
|
| |
Make install step does some things more correctly now,
without relying on the install program.
|
| |
|
|
|
|
|
| |
txr is known to work with two yacc implementations: GNU Bison
and Berkeley yacc. Let's add some auto-detection for yacc.
|
|
|
|
| |
accessibility of the heap object if valgrind debugging is not enabled.
|
|
|
|
| |
in chrlit. Include <stdlib.h> for abort.
|
| |
|
|
|
|
|
| |
Valgrind protection of free blocks. This works independently
of --gc-debug.
|
|
|
|
|
|
|
|
|
| |
The parser.y file includes "utf8.h", which uses the the type wint_t.
It also includes "lib.h" which uses "wchar_t". But it fails
to include any headers which define these types.
The generated y.tab.c picks up wchar_t by the Bison-inserted
inclusion of <stdlib.h>, so that's how we got that. But wint_t does not
come from any of the headers---if they are standard-conforming.
|
|
|
|
|
|
|
|
| |
to vector data; they point to element 0 which is actually the third
element of the vector. If an object is only referenced by interior
pointers, Valgrind reports it as possibly leaked. This change
conditionally adds a pointer to the true start of the vector,
if Valgrind support is enabled.
|
|
|
|
| |
positives when gc is accessing uninitialized parts of the stack.
|
| |
|
| |
|
|
|
|
| |
to C++). Caught by regression test suite. Found using git bisect.
|
| |
|
|
|
|
|
| |
Allow compiler command to be set independently of full path
for easier compiler switching.
|
|
|
|
| |
can be taken advantage of for better diagnostics.
|
|
|
|
|
| |
that as an object to vformat, resulting in #<garbage: ...>
output.
|
|
|
|
| |
have a _s suffix.
|
|
|
|
| |
* Makefile (CFLAGS): Take into account new flags.
|
| |
|
|
|
|
| |
this target.
|
|
|
|
|
|
| |
machine's shell. POSIX requires shell arithmetic to be only signed
long. We can't compute the INT_PTR_MAX constant in the shell, but
rather generate a constant C expression to compute it.
|
|
|
|
| |
configure debugging.
|
|
|
|
|
|
|
|
| |
which contain the = character.
* Makefile (conftest.o): Pass full CFLAGS to configuration test
builds. If some flags don't work with the compiler, this should
be caught.
|
|
|
|
|
| |
in the include search path. This is needed for finding
generated header files, when building in a separate directory.
|
|
|
|
| |
caught by gcc 4.1.1.
|
|
|
|
|
|
|
| |
* depend.txr: Add "config.h" to list of headers that are not
prefixed with $(top_srcdir).
* dep.mk: Regenerated.
|
|
|
|
|
|
|
|
| |
can be converted to a type long and vice versa. The configure
script tries to detect the appropriate type to use. Also,
some run-time checking is performed in the streams module
to detect which conversions specifier strings to use for
printing numbers.
|
|
|
|
|
|
|
|
|
|
| |
a system package instead of being hacked with the $ prefix.
Keyword symbols are provided. In the matcher, evaluation
is tightened up. Keywords, nil and t are not bindeable, and
errors are thrown if attempts are made to bind them.
Destructuring in dest_bind is strict in the number of items.
String streams are exploited to print bindings to objects
that are not strings or characters. Numerous bugfixes.
|
|
|
|
|
|
| |
we have an unhandled exception too early in initialization.
Use C stream to print an error message and abort.
Using the nil stream variable will just cause a recursion bomb.
|