Parsing 如何使解析函数接收字符串作为关于lex和yacc的参数?

Parsing 如何使解析函数接收字符串作为关于lex和yacc的参数?,parsing,bison,yacc,lex,Parsing,Bison,Yacc,Lex,我想编写一个解析器,提供类似于const char*convertA2B(const char*input)的API。它看起来像: lex_和_yacc(输入)->myADT myADT.intepret()->ouptut 在yacc中,有intyyparse(void),它似乎依赖于yyin变量。 没有这些神奇的全局变量,有没有办法直接解析字符串?yyprase不直接使用yyin,它只调用yylex来获取令牌。生成令牌的输入完全取决于lexer 默认情况下,lex或flex生成的lexer将

我想编写一个解析器,提供类似于
const char*convertA2B(const char*input)
的API。它看起来像:

  • lex_和_yacc(输入)->myADT
  • myADT.intepret()->ouptut
  • 在yacc中,有
    intyyparse(void)
    ,它似乎依赖于
    yyin
    变量。
    没有这些神奇的全局变量,有没有办法直接解析字符串?

    yyprase
    不直接使用
    yyin
    ,它只调用
    yylex
    来获取令牌。生成令牌的输入完全取决于lexer

    默认情况下,lex或flex生成的lexer将从
    yyin
    读取,但您可以使用从字符串读取