radare2/shlr/spp
2017-07-20 14:50:13 +02:00
..
p Fix ios-sdk builds 2017-07-04 19:16:24 +02:00
BUGS Add spp to r2 utils build (#6334) 2016-12-18 09:46:10 +01:00
config.def.h Conditionally remove sh for iOS 2017-07-05 13:01:02 +02:00
LICENSE Add spp to r2 utils build (#6334) 2016-12-18 09:46:10 +01:00
main.c Add spp to r2 utils build (#6334) 2016-12-18 09:46:10 +01:00
Makefile Update spp from git and fix integration with rasm2 2016-12-19 03:07:52 +01:00
r_api.c Update spp from git and fix integration with rasm2 2016-12-19 03:07:52 +01:00
r_api.h Improved MSVC support (WIP) 2017-05-09 14:25:57 +02:00
README.md Add spp to r2 utils build (#6334) 2016-12-18 09:46:10 +01:00
spp.c Fix capstone patch and update spp to fix an underflow 2017-04-18 01:27:36 +02:00
spp.h Use void in prototypes (#7974) 2017-07-20 14:50:13 +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);