Kaz Kylheku
2023-06-10 05:54:56 UTC
Cool!
https://www.kylheku.com/cgit/cppawk/about/
cppawk preprocesses your Awk code with the C preprocessor
and executes it or optionally captures it.
This has benefits:
- modularization: making a big Awk program out of include
files.
- #include nicely searches relative to the directory
of the file in which the #include appears. Bye-bye AWKPATH.
- #define constants, efficiently propagated where you want them.
- macros for inlining code; avoid call overhead.
- syntactic macros! including ones that come with cppawk
- cppawk provides a case macro which translates to GNU Awk
switch syntax or to portable Awk.
- cppawk provides a loop macro with numerous useful clauses.
- parallel and cross-product iteration.
- cppawk has some macros for dealing with
- conditional code. E.g. #if ... we are targeting this awk,
do this, #else do that.
- parametrize your code and conditionally generate;
#if THIS_FEATURE ... #endif
cppawk is rigorously developed, covered by 149 test cases.
https://www.kylheku.com/cgit/cppawk/about/
cppawk preprocesses your Awk code with the C preprocessor
and executes it or optionally captures it.
This has benefits:
- modularization: making a big Awk program out of include
files.
- #include nicely searches relative to the directory
of the file in which the #include appears. Bye-bye AWKPATH.
- #define constants, efficiently propagated where you want them.
- macros for inlining code; avoid call overhead.
- syntactic macros! including ones that come with cppawk
- cppawk provides a case macro which translates to GNU Awk
switch syntax or to portable Awk.
- cppawk provides a loop macro with numerous useful clauses.
- parallel and cross-product iteration.
- cppawk has some macros for dealing with
- conditional code. E.g. #if ... we are targeting this awk,
do this, #else do that.
- parametrize your code and conditionally generate;
#if THIS_FEATURE ... #endif
cppawk is rigorously developed, covered by 149 test cases.
--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @***@mstdn.ca
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @***@mstdn.ca