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 Add spp to r2 utils build (#6334) 2016-12-18 09:46:10 +01:00
config.def.h Make SPP less dependent on system(3) and popen(3) 2018-12-15 18:32:24 +01:00
LICENSE Add spp to r2 utils build (#6334) 2016-12-18 09:46:10 +01:00
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 Update spp from git and fix integration with rasm2 2016-12-19 03:07:52 +01:00
r_api.h Adding backtrace support to FreeBSD from 10.x release. (#10256) 2018-06-04 16:05:13 +02:00
README.md Add spp to r2 utils build (#6334) 2016-12-18 09:46:10 +01:00
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);