#!/bin/sh set -xe function cc { mkdir -p bin gcc -Wall -Wextra -Wpedantic -I. -g $2 $1.c -o bin/$(basename $1) } function shared { mkdir -p bin gcc -Wall -Wextra -Wpedantic -I. -shared -fPIC $2 $1.c -o bin/$(basename $1).so } function leak { valgrind --leak-check=full --show-leak-kinds=all -s bin/$1 $2 } # cc lexer -D_LEXER_STANDALONE # cc recursive/recursive-ascent # cc recursive/recursive-ascent-descent # cc util-tables -D_UTIL_TABLES_STANDALONE # cc slr-table -D_SLR_TABLE_STANDALONE # cc clr-table -D_CLR_TABLE_STANDALONE # cc clr-table "-D_CLR_TABLE_STANDALONE -D_LAZY_LALR" # cc lr-parser -D_LR_PARSER_STANDALONE # cc demos/instant-parser # leak lexer # leak recursive-ascent # leak recursive-ascent-descent # leak util-tables # leak slr-table # leak clr-table # leak lr-parser # leak instant-parser #--------------------------------------------------------------------------------------------------# cc demos/generate-parser shared demos/sample-files/defs leak "generate-parser bin/defs.so" > bin/generated.c cc demos/sample-files/parser-skeleton # this includes bin/generated.c leak parser-skeleton "0-1+(1+0)-1+0"