carl
750a6bc684
Better ANSI C compatibility and portability:
...
+ Addition of function prototypes and include files.
+ Change function definitions to ANSI C style.
+ Initial support for CMake
+ Scripts to generate compiler header is now sed based.
2019-02-19 00:54:23 +08:00
David Given
b76352de99
Remove stray #include.
2018-09-02 12:54:53 +02:00
David Given
cb983fac44
Rip out the built-in preprocessor from cemcom.ansi, now it's no longer used.
2018-09-02 12:50:50 +02:00
David Given
6931ffa5a4
Disable the built-in preprocessor in cemcom.ansi; the external preprocessor is
...
always run. Fix a bug in block skipping in the preprocessor.
2018-09-02 12:39:00 +02:00
David Given
f8fc5bc3d8
Implement single-line C++-style comments.
...
Fixes : #118
2018-09-02 12:14:59 +02:00
David Given
dd00b81080
Run files through clang-format before editing.
2018-09-02 11:36:15 +02:00
George Koehler
87a2315037
strcmp, strncmp are in <string.h>
...
*Important:* Do `make clean` to work around a problem and prevent
infinite rebuilds, https://github.com/davidgiven/ack/issues/68
I edit tokens.g in util/LLgen/src, so I regenerate tokens.c. The
regeneration script bootstrap.sh can't find LLgen, but I can run the
same command by typing the path to llgen.
2017-11-14 17:35:35 -05:00
George Koehler
ca4bd38206
Delete old "assert.h" files; use libc <assert.h>.
...
Edit build.lua for programs losing their private assert.h, so they
depend on a list of .h files excluding assert.h.
Remove modules/src/assert; it would be a dependency of cpp.ansi but we
didn't build it, so cpp.ansi uses the libc assert.
I hope that libc <assert.h> can better report failed assertions. Some
old "assert.h" files didn't report the expression. Some reported a
literal "x", because traditional C expanded the macro parameter x in
"x", but ANSI C89 doesn't expand macro parameters in string literals.
2017-11-09 22:22:13 -05:00
David Given
fd91851005
Add enough return types to the K&R C that the ACK builds (on Linux) using clang
...
now.
2016-11-10 22:04:18 +01:00
David Given
c1aca7dae5
First milestone of replacing the build system.
...
--HG--
branch : dtrg-buildsystem
rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h
2013-05-12 20:45:55 +01:00
ceriel
91cb060d10
Replaced a couple of UnGetChar calls with ChPushBack calls. The
...
UnGetChar call is wrong after skipspaces().
1998-02-09 09:49:00 +00:00
ceriel
8636e9d10a
Changed Header into Id
1994-06-27 08:03:14 +00:00
ceriel
2006278a52
A fix for stabs, and define NDEBUG
1993-10-22 14:24:31 +00:00
ceriel
1ad085cfb8
Also skip lint comments in skip_block()
1993-06-09 09:40:54 +00:00
ceriel
ebf5153f35
Fix small bug: space following a replacement list was included in the list
1993-01-26 11:58:00 +00:00
ceriel
439ec389a0
found some small leaks with Purify
1993-01-18 15:10:01 +00:00
ceriel
d390121280
improved symbol table generation when source file has line directives
1992-07-02 10:23:46 +00:00
ceriel
1de983200b
Fixed bug in '#ifdef FALSE || 1 (garbage)
1992-05-26 18:09:11 +00:00
ceriel
a38be6605e
Do not use '#endif/#else xxx'; it is not allowed for ANSI C
1991-12-17 13:12:22 +00:00
ceriel
950e26815e
Fix '#undef' handling
1991-12-16 14:06:09 +00:00
ceriel
2552813eaa
Corrected #error and #define
1991-04-11 10:52:52 +00:00
ceriel
bd1da2f86c
Improved switches, and fixed wrong place indication in error messages
1991-03-01 13:51:37 +00:00
ceriel
72fcc53c49
Check for garbage after #include
1991-01-03 13:45:22 +00:00
eck
007151ef1d
improved error-handling on conditionally excluded #-lines
1990-12-10 11:17:34 +00:00
eck
d7c15759ee
added warning about old-fashioned declarations
...
cleaned up error reporting
changed implicit declaration handling
1990-11-02 09:23:27 +00:00
eck
b4f97588b7
fixed bug with undefined structs
...
ceriel changed debugging information
1990-10-19 11:50:32 +00:00
eck
02ea4988d1
fixed problems with declaration syntax
1990-09-03 13:46:30 +00:00
ceriel
f234f061a1
Added dependency generator, reduced size of type structure
1990-06-08 10:03:47 +00:00
eck
dc12b2fa3d
warn about ptrdiff_t passed as long on 2-4 machines
1990-04-25 15:09:51 +00:00
eck
64e9d11570
the -U option did not work properly; call do_undef() now
1990-04-18 16:40:17 +00:00
eck
ed2516a57a
bug fixes after test-suite
1990-03-29 10:41:46 +00:00
eck
5625842582
fixed 2 bugs with line directives
1990-02-02 09:56:35 +00:00
eck
c4e0fddf5b
MINIX squeezing with strings, fixed small preprocessor bug
1990-01-16 15:21:15 +00:00
eck
00876cd9df
added alloction dump
...
shrunk some data structures
changed some ALLOCDEF's
changed setjmp to __setjmp
1990-01-10 17:33:35 +00:00
eck
abcaa3e669
changed UnGetChar() to ChPushBack() in domacro.c
1990-01-05 09:28:54 +00:00
eck
671556cfc4
improved type-checking, fixed preprocessor bug, fixed syntax bug
1989-11-27 11:37:11 +00:00
eck
96da16ce33
fixed bugs, added dynamic buffer allocation to preprocessor
1989-11-22 13:58:36 +00:00
ceriel
67f9f2a74f
many little changes: removed some lint complaints; max_int and max_unsigned
...
are now constants if NOCROSS is defined; added lexstrict and expr_strict,
and changed calls where needed
1989-11-08 16:52:34 +00:00
eck
480de7cafb
fixed some bugs, changed warning interface
1989-10-27 13:33:10 +00:00
eck
9286928275
improved domacro when NOPP defined
1989-10-24 15:02:02 +00:00
ceriel
e4857c2446
many minor modifications (it still will not fit on Minix!)
1989-10-19 14:53:25 +00:00
eck
8ff400fd0f
squeezing for MINIX
1989-10-18 13:12:31 +00:00
eck
aa2bfa7738
adjusted sources for NOPP
1989-10-16 12:38:25 +00:00
eck
4bde31f78a
minor changes concerning void and pre-processor
1989-09-29 16:20:38 +00:00
eck
fa4e6eecb4
lots and lots of changes & improvements
1989-09-19 16:13:23 +00:00
ceriel
926da49d39
Initial revision
1989-02-07 11:04:05 +00:00