summaryrefslogtreecommitdiffstats
path: root/development/ucpp/README
diff options
context:
space:
mode:
Diffstat (limited to 'development/ucpp/README')
-rw-r--r--development/ucpp/README16
1 files changed, 16 insertions, 0 deletions
diff --git a/development/ucpp/README b/development/ucpp/README
new file mode 100644
index 0000000000..d50af6cc71
--- /dev/null
+++ b/development/ucpp/README
@@ -0,0 +1,16 @@
+A C preprocessor is a part of a C compiler responsible for macro
+replacement, conditional compilation and inclusion of header files.
+It is often found as a stand-alone program on Unix systems.
+
+ucpp is such a preprocessor; it is designed to be quick and light,
+but anyway fully compliant to the ISO standard 9899:1999, also known
+as C99. ucpp can be compiled as a stand-alone program, or linked to
+some other code; in the latter case, ucpp will output tokens, one
+at a time, on demand, as an integrated lexer.
+
+ucpp operates in two modes:
+-- lexer mode: ucpp is linked to some other code and outputs a stream of
+tokens (each call to the lex() function will yield one token)
+-- non-lexer mode: ucpp preprocesses text and outputs the resulting text
+to a file descriptor; if linked to some other code, the cpp() function
+must be called repeatedly, otherwise ucpp is a stand-alone binary.