Which tool to use to parse programming languages in Python?

前端 未结 9 1945
情书的邮戳
情书的邮戳 2021-01-30 07:09

Which Python tool can you recommend to parse programming languages? It should allow for a readable representation of the language grammar inside the source, and it should be abl

相关标签:
9条回答
  • 2021-01-30 07:50

    For a more complicated parser I would use pyparsing. Pyparsing

    Here is the parsed example from there home page

    from pyparsing import Word, alphas
    
    greet = Word(alphas) + "," + Word(alphas) + "!"  # <-- grammar 
    

    defined here

    hello = "Hello, World!"
    print(hello, "->", greet.parseString(hello))
    
    0 讨论(0)
  • 2021-01-30 07:53

    For simple task I tend to use the shlex module.

    See http://wiki.python.org/moin/LanguageParsing for evaluation of language parsing in python.

    0 讨论(0)
  • 2021-01-30 07:55

    Antlr generates LL(*) parsers. That can be good, but sometimes removing all left recursion can be cumbersome.

    If you are LALR(1)-savvy, you can use PyBison. It has similar syntax to Yacc, if you know what it is. Plus, there are a lot of people out there that know how yacc works.

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