LINUX.ORG.RU

Вопрос по bison/yacc

 ,


0

1

Вот есть у меня интерпретатор калькулятора.

extern FILE *yyin;

int main()
{
    yyin = fmemopen("print 5+5;", strlen("print 5+5;"), "r");
    yyparse();
    some_func();

    return 0;
}

Я что-то не очень понимаю, как сделать так, чтобы вызвалась функция some_func(). Иными словами, я хочу, чтобы yyparse() один раз отработал (интерпретировал print 5 + 5;), и программа выполнялась дальше. Можно ли так сделать? Надо ли для этого вводить в язык какой-то отдельный конструкт типа INTERPRETER_EXIT или можно что-нибудь дописать в y.tab.c или lex.yy.c, например поправить yywrap()?

Тьфу ёлки палки, не заметил в передираемом примере exit(0). Всё решено.

grimwaken ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.