Flex/Bison-like functionality within PHP

前端 未结 3 956
长情又很酷
长情又很酷 2021-02-14 02:27

I\'m looking for a way to get Flex/Bison (or Lex/Yacc, et. al.) support in PHP. Specifically, I\'m implementing a boolean query parser in a web UI and would rather keep all ope

相关标签:
3条回答
  • 2021-02-14 02:30

    Have you tried looking at PEG parser generators in PHP: https://github.com/maetl/php-peg ?

    Or a parser combinator approach: http://qntm.org/locoparser ?

    0 讨论(0)
  • 2021-02-14 02:33

    LIME Parser Generator for PHP:

    Complete LALR(1) parser generator and engine (like BISON or YACC) but it's all done in PHP, and the input grammar is easier and more maintainable. Write your actions in PHP. Generate PHP output code. Drive your parser with PHP. Wanna make a language?


    update:

    Since I wrote the above, I see that there are some other tools for parser generation, announced here:

    http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php/

    Not sure if these are any better maintained now in 2014, but I know Wez Furlong, he was the original developer of PDO, and he is a very good developer.

    0 讨论(0)
  • 2021-02-14 02:38

    The PEAR library has the classes LexerGenerator and ParserGenerator. The LexerGenerator syntax is compatible with re2c, ParserGenerator syntax is compatible with the Lemon Parser generator.

    0 讨论(0)
提交回复
热议问题