radare2/shlr/spp
2018-12-15 18:32:24 +01:00
..
p Make SPP less dependent on system(3) and popen(3) 2018-12-15 18:32:24 +01:00
BUGS
config.def.h Make SPP less dependent on system(3) and popen(3) 2018-12-15 18:32:24 +01:00
LICENSE
main.c Update spp with all the fixes not backported 2017-10-09 12:19:17 +02:00
Makefile Improve build of libr.a and libr.dylib, fix and improve sys/ios-sdk.sh (#10046) 2018-05-09 23:31:52 +02:00
r_api.c
r_api.h Adding backtrace support to FreeBSD from 10.x release. (#10256) 2018-06-04 16:05:13 +02:00
README.md
spp.c Fix realloc misusages (#12433) 2018-12-10 11:56:12 +01:00
spp.h Improve build of libr.a and libr.dylib, fix and improve sys/ios-sdk.sh (#10046) 2018-05-09 23:31:52 +02:00

spp

Author: pancake <pancakenopcodeorg> License: MIT

Description

SPP stands for Simple Pre-Processor.

The primary use of spp is as a templating language, with similarities to PHP and CPP. Allowing to embed scripts in any language in some specific places of the document.

Configuration

SPP binary can be configured by changing the values in the config.h file, this way you can specify which preprocessors you want to include in the parser.

# Edit the config.h file before typing 'make'

See config.def.h as an example

Build

$ make

Installation

$ make install PREFIX=/usr

Embedding

There are no embedding issues with the MIT license and the amount if code is pretty low (~400 LOC), and use the apis:

struct Proc p = {0};
spp_proc_set (&p, "sh", 99);
char *res = spp_eval(&p, "hello {{echo orld}}"
printf ("(%s)\n", res);