fanf fd4a464ac4 Sync with up-stream version, including a number of bug-fixes:
* The partial-evaluation of #elif sequences was broken and the
spaghetti logic of its implementation was too hard to understand.
I've re-done it using a straight-forward table-driven push-down
automaton.

* The pre-processor line parser did not allow for all of the weird
places that people might put comments, which could have caused it
to add syntax-errors to the output by removing a #if line containing
the start- or end-marker of a comment.

* The lexer didn't need to special-case the handling of string-literals
or character-constants, but it did need to learn about line-continuations
(backslash-newline).

* The input routine was buggy and bit-rotten and trivially replacable
with fgets(). I've also made the program static- and const-safe and
improved the presentation-order. The formatting of the state-transition
tables remains non-stylish.

This commit-messsage was brought to you by code-point 45.

MFC-after: one-week
2002-12-18 20:50:44 +00:00
..
2002-07-17 15:35:31 +00:00
2002-07-14 18:23:22 +00:00
2002-07-14 18:23:22 +00:00
2002-05-30 13:33:59 +00:00
2002-11-26 17:55:41 +00:00
2002-03-22 01:22:50 +00:00
2002-09-04 23:29:10 +00:00
2002-12-12 13:26:32 +00:00
2002-02-01 16:33:40 +00:00
2002-12-11 17:26:53 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 17:33:37 +00:00
2002-10-16 12:42:15 +00:00
2002-08-14 11:38:30 +00:00
2002-11-26 17:33:37 +00:00
2002-11-26 10:51:47 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 10:57:57 +00:00
2002-06-30 05:25:07 +00:00
2002-06-30 05:25:07 +00:00
2002-06-30 05:25:07 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-06-30 05:25:07 +00:00
2002-06-15 09:42:17 +00:00
2002-05-29 14:23:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-12-05 08:50:00 +00:00
2002-09-04 23:29:10 +00:00
2002-10-16 13:58:39 +00:00
2002-09-04 23:29:10 +00:00
2002-06-30 05:25:07 +00:00
2002-11-26 11:25:04 +00:00
2002-11-11 11:56:28 +00:00
2002-06-30 05:25:07 +00:00
2002-06-30 05:25:07 +00:00
2002-06-30 05:25:07 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-09 02:58:42 +00:00
2002-09-04 23:29:10 +00:00
2002-06-30 05:25:07 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-04-20 12:18:28 +00:00
2002-09-04 23:29:10 +00:00
2002-07-16 05:38:26 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-05 17:06:51 +00:00
2002-07-14 15:12:00 +00:00
2002-09-04 23:29:10 +00:00
2002-08-19 03:07:56 +00:00
2002-07-14 18:23:22 +00:00
2002-01-03 21:20:29 +00:00
2002-04-20 12:18:28 +00:00
2002-11-26 17:33:37 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-07-14 15:12:00 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 17:33:37 +00:00
2002-09-04 23:29:10 +00:00
2002-03-22 01:42:45 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 17:33:37 +00:00
2002-04-20 12:18:28 +00:00
2002-10-30 03:24:16 +00:00
2002-04-20 12:18:28 +00:00
2002-11-26 17:33:37 +00:00
2002-11-26 17:33:37 +00:00
2002-08-19 03:07:56 +00:00
2002-04-20 12:18:28 +00:00
2002-04-20 12:18:28 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 17:33:37 +00:00
2002-09-04 23:29:10 +00:00
2002-10-02 20:33:52 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 17:33:37 +00:00
2002-03-22 01:42:45 +00:00
2002-11-26 17:33:37 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 17:33:37 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 17:33:37 +00:00
2002-11-26 17:33:37 +00:00
2002-11-26 17:33:37 +00:00
2002-11-26 17:33:37 +00:00
2002-11-26 17:33:37 +00:00
2002-09-04 23:29:10 +00:00
2002-12-11 17:13:09 +00:00
2002-04-20 12:18:28 +00:00
2002-04-20 12:18:28 +00:00
2002-04-20 12:18:28 +00:00