爱意满满的作品展示区。
jiyinyiyong

五一重构了我的缩进语法解析工具(Cirru Parser)

  •  
  •   jiyinyiyong ·
    jiyinyiyong · May 4, 2014 · 3030 views
    This topic created in 4419 days ago, the information mentioned may be changed or developed.
    顺便吐槽下面向对象真实用, 比我半年前写的第一个版本清晰多了.
    Cirru 是一套基于缩进的语法, 但是一般的语法解析工具都不原生支持缩进的,
    我绕了好久不得其门而入, 只好自己动手写, 好在 Cirru 语法是极简单的.

    然后现在是一个清晰的版本, 可以看 GitHub 上的代码:
    https://github.com/Cirru/cirru-parser

    另外类似的面向对象构建的格式化工具:
    https://github.com/Cirru/cirru-writer

    给喜欢缩进的同学参考 :)
    2 replies    2014-05-04 22:48:29 +08:00
    jakwings
        1
    jakwings  
       May 4, 2014
    这个生的语法树,还包含局部未解释的代码,实在不清楚好处在哪里……我宁愿自己搞定缩进。把 Markdown 解析器稍微改改都比它强啊……
    jiyinyiyong
        2
    jiyinyiyong  
    OP
       May 4, 2014
    @jakwings Markdown 语法可要复杂多了. Cirru 这个程度的确完全没法比

    一个用途是 Cirru 语法解析以后, 再对树进行处理用来转其他标记语言:
    https://github.com/Cirru/cirru-html
    也止于并不复杂的一些脚本可以用用, 复杂的...不靠谱
    好处就在简单, 如果做个玩具都得把编译原理学一遍就没多少乐趣了

    自我感觉解析文本的手法很另类 - -!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3254 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:35 · PVG 21:35 · LAX 06:35 · JFK 09:35
    ♥ Do have faith in what you're doing.