u/fanf2/cpppe.git
4 years agocpppe: trim whitespace from start of macro replacements master
Tony Finch [Wed, 25 Nov 2015 17:14:33 +0000 (17:14 +0000)]
cpppe: trim whitespace from start of macro replacements

4 years agocpppe: stateful rather than lpeg-ish error counting works
Tony Finch [Sat, 21 Nov 2015 21:39:52 +0000 (21:39 +0000)]
cpppe: stateful rather than lpeg-ish error counting works

4 years agocpppe: parse #define. error counting is broken.
Tony Finch [Sat, 21 Nov 2015 18:50:47 +0000 (18:50 +0000)]
cpppe: parse #define. error counting is broken.

4 years agocpppe: add separators between groups of rules
Tony Finch [Sat, 21 Nov 2015 14:03:53 +0000 (14:03 +0000)]
cpppe: add separators between groups of rules

4 years agocpppe: something like a working #undef parser
Tony Finch [Sat, 21 Nov 2015 00:36:50 +0000 (00:36 +0000)]
cpppe: something like a working #undef parser

4 years agodoc: compactify lpeg quickref
Tony Finch [Fri, 20 Nov 2015 23:33:27 +0000 (23:33 +0000)]
doc: compactify lpeg quickref

4 years agocpppe: better line number handling
Tony Finch [Fri, 20 Nov 2015 23:21:58 +0000 (23:21 +0000)]
cpppe: better line number handling

4 years agocpppe: wip
Tony Finch [Fri, 20 Nov 2015 17:23:45 +0000 (17:23 +0000)]
cpppe: wip

4 years agocpppe: some error handling and a few parser bits
Tony Finch [Fri, 20 Nov 2015 16:54:43 +0000 (16:54 +0000)]
cpppe: some error handling and a few parser bits

4 years agocpppe: build up grammar in a table
Tony Finch [Fri, 20 Nov 2015 13:48:34 +0000 (13:48 +0000)]
cpppe: build up grammar in a table

4 years agoFix gitignore
Tony Finch [Fri, 20 Nov 2015 13:07:58 +0000 (13:07 +0000)]
Fix gitignore

4 years agodoc: an Lpeg quick reference
Tony Finch [Fri, 20 Nov 2015 13:07:35 +0000 (13:07 +0000)]
doc: an Lpeg quick reference

4 years agocpppe: more lexical tokens
Tony Finch [Wed, 18 Nov 2015 21:28:34 +0000 (21:28 +0000)]
cpppe: more lexical tokens

Character constants, string literals.

pp-numbers get converted to integer literals during expression
evaluation, not during bulk lexing.

4 years agodoc: minor tweaks to spec
Tony Finch [Wed, 18 Nov 2015 21:28:14 +0000 (21:28 +0000)]
doc: minor tweaks to spec

4 years agodoc: rename user interface notes to something more descriptive
Tony Finch [Wed, 18 Nov 2015 20:21:42 +0000 (20:21 +0000)]
doc: rename user interface notes to something more descriptive

4 years agodoc: more random thoughts about modes of operation
Tony Finch [Wed, 18 Nov 2015 20:21:01 +0000 (20:21 +0000)]
doc: more random thoughts about modes of operation

4 years agodoc: leave C++ support for later
Tony Finch [Wed, 18 Nov 2015 20:05:38 +0000 (20:05 +0000)]
doc: leave C++ support for later

4 years agoREADME: update standard year
Tony Finch [Wed, 18 Nov 2015 20:05:17 +0000 (20:05 +0000)]
README: update standard year

4 years agodoc: note cpppe needs support for C++ tokens too
Tony Finch [Wed, 18 Nov 2015 17:13:59 +0000 (17:13 +0000)]
doc: note cpppe needs support for C++ tokens too

4 years agocpppe: gc floating point constant support
Tony Finch [Wed, 18 Nov 2015 16:57:50 +0000 (16:57 +0000)]
cpppe: gc floating point constant support

4 years agoblog: what is allowed in a C preprocessor expression
Tony Finch [Tue, 17 Nov 2015 23:02:07 +0000 (23:02 +0000)]
blog: what is allowed in a C preprocessor expression

4 years agodoc: no floating point support in cpp
Tony Finch [Tue, 17 Nov 2015 17:17:10 +0000 (17:17 +0000)]
doc: no floating point support in cpp

The standard specifies that C keywords are not recognized by the
preprocessor; it treats them the same as other identifiers, i.e.
cpp replaces them with 0 and cpppe treats them as indeterminate.

This means the preprocessor does not support sizeof or casts.
It also means it does not support floating point, because the
only floating constants allowed in integer constant expressions
must be the immediate operands of casts.

4 years agodoc: pointer to John Regehr's opinion of Boost preprocessor hackery
Tony Finch [Mon, 9 Nov 2015 23:50:49 +0000 (23:50 +0000)]
doc: pointer to John Regehr's opinion of Boost preprocessor hackery

4 years agocpppe: more lexing
Tony Finch [Mon, 9 Nov 2015 00:01:16 +0000 (00:01 +0000)]
cpppe: more lexing

4 years agocpppe: starting on lexical syntax
Tony Finch [Sun, 8 Nov 2015 23:10:18 +0000 (23:10 +0000)]
cpppe: starting on lexical syntax

4 years agospec: need definition of white space
Tony Finch [Sun, 8 Nov 2015 23:10:00 +0000 (23:10 +0000)]
spec: need definition of white space

4 years agoMore flexible dynamic Lua runner
Tony Finch [Sun, 8 Nov 2015 21:38:33 +0000 (21:38 +0000)]
More flexible dynamic Lua runner

4 years agospec: macro replacement
Tony Finch [Sat, 7 Nov 2015 00:03:45 +0000 (00:03 +0000)]
spec: macro replacement

4 years agoVery basic portability hacks
Tony Finch [Fri, 6 Nov 2015 17:42:43 +0000 (17:42 +0000)]
Very basic portability hacks

4 years agoUser interface suggestions from Ian Jackson
Tony Finch [Fri, 6 Nov 2015 15:29:26 +0000 (15:29 +0000)]
User interface suggestions from Ian Jackson

4 years agospec: the unifdef bit
Tony Finch [Thu, 5 Nov 2015 20:19:30 +0000 (20:19 +0000)]
spec: the unifdef bit

4 years agospec: start on conditional inclusion
Tony Finch [Thu, 5 Nov 2015 18:25:23 +0000 (18:25 +0000)]
spec: start on conditional inclusion

4 years agospec: preen
Tony Finch [Thu, 5 Nov 2015 15:38:14 +0000 (15:38 +0000)]
spec: preen

4 years agospec: link to ISO document
Tony Finch [Thu, 5 Nov 2015 15:34:25 +0000 (15:34 +0000)]
spec: link to ISO document

4 years agoFix dependencies and preen noise
Tony Finch [Thu, 5 Nov 2015 14:49:47 +0000 (14:49 +0000)]
Fix dependencies and preen noise

4 years agoEmbedded version strings
Tony Finch [Thu, 5 Nov 2015 14:44:17 +0000 (14:44 +0000)]
Embedded version strings

4 years agoOverview of cpp syntax
Tony Finch [Thu, 5 Nov 2015 00:19:50 +0000 (00:19 +0000)]
Overview of cpp syntax

4 years agoLexical syntax done?
Tony Finch [Wed, 4 Nov 2015 23:05:07 +0000 (23:05 +0000)]
Lexical syntax done?

4 years agoA note on compatibility
Tony Finch [Wed, 4 Nov 2015 22:25:04 +0000 (22:25 +0000)]
A note on compatibility

4 years agoSpec is based on C11 not C99
Tony Finch [Wed, 4 Nov 2015 22:22:05 +0000 (22:22 +0000)]
Spec is based on C11 not C99

4 years agoMore lexical syntax
Tony Finch [Wed, 4 Nov 2015 22:21:10 +0000 (22:21 +0000)]
More lexical syntax

4 years agoUse a more recent C committee draft
Tony Finch [Wed, 4 Nov 2015 20:27:24 +0000 (20:27 +0000)]
Use a more recent C committee draft

4 years agoMore on c99
Tony Finch [Wed, 4 Nov 2015 20:10:34 +0000 (20:10 +0000)]
More on c99

4 years agoStart some more formal notes on C99 (lack of) conformance
Tony Finch [Wed, 4 Nov 2015 18:57:40 +0000 (18:57 +0000)]
Start some more formal notes on C99 (lack of) conformance

4 years agoREADME: initial design notes
Tony Finch [Sun, 1 Nov 2015 21:54:30 +0000 (21:54 +0000)]
README: initial design notes

4 years agoMake: add a dynamic runner
Tony Finch [Sun, 1 Nov 2015 21:05:37 +0000 (21:05 +0000)]
Make: add a dynamic runner

4 years agoMake: simplify slightly
Tony Finch [Sun, 1 Nov 2015 20:13:22 +0000 (20:13 +0000)]
Make: simplify slightly

4 years agolzc: split out generic static Lua wrapper
Tony Finch [Sun, 1 Nov 2015 20:02:18 +0000 (20:02 +0000)]
lzc: split out generic static Lua wrapper

4 years agolpeg: import re package
Tony Finch [Sun, 1 Nov 2015 18:19:43 +0000 (18:19 +0000)]
lpeg: import re package

4 years agogetopt: alternate option-with argument specifiers
Tony Finch [Sun, 1 Nov 2015 17:46:42 +0000 (17:46 +0000)]
getopt: alternate option-with argument specifiers

The handler table now allows Unix-style F: specifiers for options
with arguments, as well as the Lua-style F_ which works better
with Lua's table syntax.

4 years agogetopt: allow non-alphanumeric options, e.g. -?
Tony Finch [Sun, 1 Nov 2015 17:44:31 +0000 (17:44 +0000)]
getopt: allow non-alphanumeric options, e.g. -?

4 years agozio: bigger buffers
Tony Finch [Sun, 1 Nov 2015 17:39:38 +0000 (17:39 +0000)]
zio: bigger buffers

4 years agolunzip: avoid cast
Tony Finch [Sun, 1 Nov 2015 17:39:15 +0000 (17:39 +0000)]
lunzip: avoid cast

4 years agoMakefile: delete fewer things
Tony Finch [Sun, 1 Nov 2015 17:26:08 +0000 (17:26 +0000)]
Makefile: delete fewer things

4 years agodata2c: remove spurious newline
Tony Finch [Sun, 1 Nov 2015 17:23:02 +0000 (17:23 +0000)]
data2c: remove spurious newline

4 years agolunzip: suppress warnings
Tony Finch [Sun, 1 Nov 2015 17:20:24 +0000 (17:20 +0000)]
lunzip: suppress warnings

4 years agoAdd getopt and get Lua packages working
Tony Finch [Sat, 31 Oct 2015 20:02:32 +0000 (20:02 +0000)]
Add getopt and get Lua packages working

4 years agoMakefile: missing bits
Tony Finch [Sat, 31 Oct 2015 19:24:45 +0000 (19:24 +0000)]
Makefile: missing bits

4 years agomain: bootstrap Lua
Tony Finch [Sat, 31 Oct 2015 18:55:15 +0000 (18:55 +0000)]
main: bootstrap Lua

4 years agolunzip: Lua-5.3 compat
Tony Finch [Sat, 31 Oct 2015 18:44:32 +0000 (18:44 +0000)]
lunzip: Lua-5.3 compat

4 years agoMakefile: build lua and lpeg and stuff
Tony Finch [Sat, 31 Oct 2015 18:04:48 +0000 (18:04 +0000)]
Makefile: build lua and lpeg and stuff

4 years agozio: avoid signedness warnings
Tony Finch [Sat, 31 Oct 2015 16:59:41 +0000 (16:59 +0000)]
zio: avoid signedness warnings

4 years agodata2c: embed a data file in a C program
Tony Finch [Sat, 31 Oct 2015 16:38:24 +0000 (16:38 +0000)]
data2c: embed a data file in a C program

4 years agolunzip: load compressed lua chunks
Tony Finch [Sat, 31 Oct 2015 16:26:22 +0000 (16:26 +0000)]
lunzip: load compressed lua chunks

4 years agozio: raw zlib compression and decompression
Tony Finch [Sat, 31 Oct 2015 16:19:52 +0000 (16:19 +0000)]
zio: raw zlib compression and decompression

4 years agoStart cpppe-0
Tony Finch [Sat, 31 Oct 2015 15:55:22 +0000 (15:55 +0000)]
Start