carl
f74b29d303
* Remove some more compiler warnings.
2019-02-24 00:46:05 +08:00
carl
9622898131
Bugfix of fprint using correct output redirection (fix from last commit).
2019-02-24 00:45:35 +08:00
carl
f7ba3eec50
Remove CMake changes and generic sed scripts so they are move to a separate branch.
2019-02-21 00:43:04 +08:00
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
274ed3cb6a
Run through clang-format before editing.
2018-09-02 11:49:40 +02:00
David Given
dd00b81080
Run files through clang-format before editing.
2018-09-02 11:36:15 +02:00
David Given
788f439a48
Run files through clang-format before editing.
2018-09-02 11:16:06 +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
3463f0c944
bts2str(), long2str() are in <ack_string.h>
2017-11-10 18:00:00 -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
George Koehler
1ab1306baa
Always use unsigned long in lang/cem
...
Same reason as commit 649410b
.
2017-10-29 17:01:29 -04:00
David Given
3e69d1185a
Fix a whole lot more stray prototypes.
2016-11-24 21:47:40 +01:00
David Given
4d7c27391f
Merge.
2016-11-10 22:06:08 +01: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
57cb99ade1
Remove sys_time in favour of directly calling time().
2016-11-09 21:52:04 +01:00
David Given
f67c98e239
Distributions are a pain --- let's not bother any more. Instead, we just tag
...
the repository and download a complete snapshot, old and ancient stuff and all.
2016-09-02 23:00:38 +02:00
David Given
612e38f1c6
Remove the old make-based build system, plus some big chunks of horribly
...
obsolete protomake build system.
2016-09-02 22:17:51 +02:00
David Given
4d24666432
Move util/data into modules/src/em_data, for consistency with the other
...
modules.
2016-08-14 14:09:38 +02:00
David Given
0d77cb8279
We can build our first C file.
2016-08-07 21:56:53 +02:00
David Given
5e84be70fd
Massive ackbuilder refactor --- cleaner and more expressive. Lists
...
are automatically flattened (leading to better build files), and the
list and filename functions are vastly more orthogonal.
2016-08-04 23:51:19 +02:00
David Given
363d13cc2f
C preprocessor; tabgen; now the pc86 boot.s builds using the ack
...
toolchain.
2016-07-29 00:22:49 +02:00
David Given
2770a83837
More programs, more libraries. src/modules build files are now saner.
2016-07-23 00:30:31 +02:00
David Given
1fdc69fb97
cemcom.ansi now builds.
2016-07-19 23:43:14 +02:00
David Given
2d2497c318
ackbuilder rules files now require absolute paths in external variables
...
(otherwise commands which change directory don't work).
2016-07-18 23:16:27 +02:00
David Given
bcf3408e36
More stuff builds; almost the C compiler now.
2016-07-14 23:54:13 +02:00
David Given
88bd7ce126
Remove defunct pmfiles.
...
--HG--
branch : default-branch
2016-06-03 13:56:50 +02:00
David Given
863b610144
Fix use-after-free.
2016-03-17 20:52:27 +01:00
David Given
3d5e72e20b
Newer versions of GNU Make have a new function which collides with a
...
variable we're using; change the name of the variable.
2015-03-22 12:09:46 +01:00
David Given
c18a82ec40
Apply build system fixes for OpenBSD contributed by George Koehler.
2013-05-18 12:15:53 +01:00
David Given
11377070fd
Update distribution files.
...
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given
af0dedeb6e
Fix typo.
...
--HG--
branch : dtrg-buildsystem
2013-05-13 11:14:10 +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
George Koehler
7ef9b79c11
Merge deletion of many undead files.
2012-09-23 15:31:16 -04:00
George Koehler
0131ca4d46
Delete 689 undead files.
...
These files "magically reappeared" after the conversion from CVS to
Mercurial. The old CVS repository deleted these files but did not
record *when* it deleted these files. The conversion resurrected these
files because they have no history of deletion. These files were
probably deleted before year 1995. The CVS repository begins to record
deletions around 1995.
These files may still appear in older revisions of this Mercurial
repository, when they should already be deleted. There is no way to fix
this, because the CVS repository provides no dates of deletion.
See http://sourceforge.net/mailarchive/message.php?msg_id=29823032
2012-09-20 22:26:32 -04:00
George Koehler
800d4ae032
Fix cemcom.ansi for 64-bit hosts.
...
Hosts with sizeof(arith) == sizeof(long) == 8 need to set full_mask[1]
through full_mask[8]. Because MAXSIZE == 8, we only had full_mask[0]
through full_mask[7]. This fix declares arith full_mask[MAXSIZE + 1]
and prevents a fatal error: "array full_mask too small for this machine"
2012-09-07 15:53:13 -04:00
dtrg
b611731ec3
Updated .distr files for the new release.
2007-02-25 12:51:55 +00:00
dtrg
611bc73043
Changed to no longer include /usr/include by default.
2007-02-20 00:36:15 +00:00
dtrg
f9ddb860a9
Fixed some reentrant comments.
2007-02-20 00:35:37 +00:00
dtrg
dbe10d2c19
Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
2006-10-15 00:28:12 +00:00
dtrg
7826e03427
Added support for the K&R C language runtime.
2006-07-27 22:51:38 +00:00
dtrg
8558656665
Now avoids piping shell scripts into a new instance of sh, instead
...
using a subshell.
2006-07-26 12:29:47 +00:00
dtrg
014be56fb0
Replaced calls to the custom strindex() and strrindex() functions with the
...
exactly equivalent and standard strchr() and strrchr() functions instead.
2006-07-23 20:01:02 +00:00
dtrg
097c640a6c
First version in CVS.
2006-07-20 23:24:28 +00:00
dtrg
b6757337b3
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-19 10:30:26 +00:00
dtrg
e859ef2491
Rationalised use of #includes to be more standards-compliant.
2006-07-19 10:28:43 +00:00
dtrg
454bdae81f
Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.)
2006-07-18 16:45:57 +00:00