diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-07-21 18:18:08 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-07-21 18:18:08 +0200 |
commit | fcecde0f699162f4043648da3c2eefa2cc341e10 (patch) | |
tree | 084a6a73d212cca3d2ffe97e786888b9ca6d7ddd | |
parent | Add pre-compiled "headers", ensuring everything compiles again. (diff) | |
download | calp-fcecde0f699162f4043648da3c2eefa2cc341e10.tar.gz calp-fcecde0f699162f4043648da3c2eefa2cc341e10.tar.xz |
Add sample cpp "binary".
Diffstat (limited to '')
-rwxr-xr-x | cpp | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -0,0 +1,22 @@ +#!/usr/bin/env sh +# -*- mode: scheme -*- +here=$(dirname $(realpath $0)) +. $here/env + +exec $GUILE -e main -s "$0" "$@" +!# + +(use-modules ((c preprocessor2) :select (preprocess-string make-default-environment)) + ((hnh util io) :select (read-file)) + ((c cpp-environment) :select (pprint-environment)) + ((c unlex) :select (unlex)) + (srfi srfi-71) + (srfi srfi-88)) + +(define (main args) + (let ((env tokens (preprocess-string (read-file (cadr args)) (make-default-environment)))) + (pprint-environment env) + (newline) + (display (unlex tokens)) + (newline) + )) |