Commit graph

99 commits

Author SHA1 Message Date
David Given
25b6712e63 Rework all the ackbuilder scripts not to use wildcards, because we can't expand
them without luaposix, which isn't available (easily) on OSX or Windows.
2022-07-14 23:57:54 +02:00
carl
cb65e6426c Memory overflow bugfix 2019-05-14 23:14:59 +08:00
carl
8f6073d446 + Better type checking in function tables. 2019-03-02 01:44:16 +08:00
carl
bd52b1f8f5 * Fix more tabs. 2019-02-26 00:44:52 +08:00
carl
e233db6dc0 * Convert spaces -> tabs to keep consistency with existing code. 2019-02-24 01:15:23 +08:00
carl
41cb541e7e Pascal compiler better type checking and function declarations (Better ISO C compatibility) 2019-02-24 00:44:50 +08:00
David Given
698613cd7d Turns out that the compiler needs access to the libpc headers too; refactor
into a separate target to avoid build loops and make it work.
2018-06-18 22:17:38 +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
974fa93491 Silence warning about pointer cast to int.
This cast was safe because the pointer is a small constant integer,
but it causes warning from gcc.
2017-11-13 20:58:57 -05:00
George Koehler
3463f0c944 bts2str(), long2str() are in <ack_string.h> 2017-11-10 18:00:00 -05:00
David Given
a1043bc5fe Attempt to correct file system case sensitivity. 2017-08-06 11:15:53 +02:00
George Koehler
f91bc2804d Tune the installed manual pages.
This commit slightly improves the formatting of the manuals.  My
OpenBSD machine uses mandoc(1) to format manuals.  I check the manuals
with `mandoc -T lint` and fix most of the warnings.  I also make
other changes where mandoc didn't warn me.

roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule.  I insert some newlines after
sentences that had ended mid-line.

roff(7) also says that blank lines "are only permitted within literal
contexts."  I delete blank lines.  This removes some extra blank lines
from mandoc's output.  If I do want a blank line in the output, I call
".sp 1" to make it in man(7).  If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.

Hyphens used for command-line options, like \-a, should be escaped by
a backslash.  I insert a few missing backslashes.

mandoc warns if the date in .TH doesn't look like a date.  Our manuals
had a missing date or the RCS keyword "$Revision$".  Git doesn't
expand RCS keywords.  I put in today's date, 2017-01-18.

Some manuals used tab characters in filled mode.  That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.

ack(1) defined a macro .SB but never used it, so I delete the
definition.  I also remove a call to the missing macro .RF.

mandoc warns about empty paragraphs.  I deleted them.  mandoc also
warned about these macro pairs in anm(1):

    .SM
    .B text

The .SM did nothing because the .B text is on a different line.  I
changed each pair to .SB for small bold text.

I make a few other small changes.
2017-01-18 23:02:30 -05:00
David Given
b32be06881 Allow the full 8-bit byte range when reading program source. 2017-01-15 22:41:11 +01:00
David Given
5ff983ad9b Increase the number of items in a char set from 128 to 256, to cover all
possible bytes (7-bit bytes are so 70s).
2017-01-15 22:30:25 +01:00
David Given
c084f9f224 Remove the Mark() and Release() procedures from the Pascal compiler and
standard library, because they never worked and come from an achingly old
version of the Pascal specification. Fix the implementations of New() and
Dispose() to use the standard C memory allocator rather than rolling their own
(also in C). Write test!
2016-11-24 20:35:26 +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
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
e770d09dc8 Pascal compiler builds. 2016-08-13 13:03:06 +02:00
David Given
88bd7ce126 Remove defunct pmfiles.
--HG--
branch : default-branch
2016-06-03 13:56:50 +02: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
11377070fd Update distribution files.
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given
66aebcdd91 Pascal compiler now runs.
--HG--
branch : dtrg-buildsystem
rename : lang/basic/build.mk => lang/pc/build.mk
rename : lang/cem/cemcom.ansi/build.mk => lang/pc/comp/build.mk
rename : lang/basic/lib/build.mk => lang/pc/libpc/build.mk
2013-05-14 20:47:04 +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
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
dtrg
b611731ec3 Updated .distr files for the new release. 2007-02-25 12:51:55 +00:00
dtrg
39689a4de9 Tweaked to allow _ as a leading character in identifier names (if
use of underscores in identifiers has been turned on).
2007-02-20 00:40:00 +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
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
f1386f3aa5 Added support for the Pascal compiler. 2006-07-22 21:03:07 +00:00
dtrg
2dbc112117 Rationalised use of #includes to be more standards-compliant. 2006-07-22 21:01:15 +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
cvs2hg
5cb054f106 fixup commit for tag 'llgen-1-0' 2006-02-04 00:57:05 +00:00
ceriel
6db931eee6 Link em_data.a as well (needed when producing readable EM 1997-04-01 13:58:58 +00:00
ceriel
550095a5d0 Removed Version.c 1995-12-06 09:52:54 +00:00
ceriel
4565576021 Fixed bug with labels 1995-11-07 10:37:59 +00:00
ceriel
0bf45ac757 Get() parameter is optional 1995-11-01 16:54:17 +00:00
ceriel
53eb117563 use stdarg when compiling with ANSI C compiler 1995-08-17 16:34:29 +00:00
ceriel
e441b2f658 disabled a warning 1994-11-01 11:45:23 +00:00
ceriel
8061bab6a9 removed warning and fixed two problems:
- remove_def was wrong, and parameter defs should not be removed at the
  end of a scope
1994-10-27 14:57:48 +00:00
ceriel
d992ed4935 mark file parameters as used in reads/writes 1994-10-25 15:41:59 +00:00
ceriel
1db6a3029b Header --> Id 1994-06-24 14:02:31 +00:00
ceriel
65592bae41 prevent some gcc warnings 1993-11-16 11:54:00 +00:00
ceriel
a71ae473ac Include em_label.h before em_code.h 1993-10-26 09:59:06 +00:00
ceriel
c9ec055176 Define NDEBUG if you don't want assertions 1993-10-22 14:30:43 +00:00
ceriel
7a26259981 Fixed make.hfiles; some "shells" did not accept it 1993-08-05 12:30:57 +00:00
ceriel
d9bd02fda6 Removed static buffer in gen_idf 1992-10-22 16:56:28 +00:00
ceriel
3ac24b282b Removed # in commands 1992-06-26 12:01:31 +00:00