-
Notifications
You must be signed in to change notification settings - Fork 302
Closed
Description
In my attempt to extend Lispy for a double type, I created the following grammar (full source code):
mpc_parser_t* Integer = mpc_new("integer");
mpc_parser_t* Double = mpc_new("double");
mpc_parser_t* Symbol = mpc_new("symbol");
mpc_parser_t* Sexpr = mpc_new("sexpr");
mpc_parser_t* Expr = mpc_new("expr");
mpc_parser_t* Lispy = mpc_new("lispy");
const char *grammar =
" \n\
double : /-?[0-9]+.[0-9]+/ | ; \n\
integer : /-?[0-9]+/ | ; \n\
symbol : '+' | '-' | '*' | '/' | '%' | '^' | \"min\" | \"max\" | \"inc\" | \"dec\" ; \n\
sexpr : '(' <expr>* ')' ; \n\
expr : <double> | <integer> | <symbol> | <sexpr> ; \n\
lispy : /^/ <expr>* /$/ ; \n\
\n";
printf("Grammar: %s\n", grammar);
mpca_lang(MPC_LANG_DEFAULT, grammar,
Double, Integer, Symbol, Sexpr, Expr, Lispy);Unfortunately, this gets my program stuck in mpc_parse(); (despite running on Linux;).
Metadata
Metadata
Assignees
Labels
No labels