V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxCoder
V2EX  ›  问与答

手写 sql parser 的话怎么处理 where 子句中的 and 和 or 或者是+号 *号的优先级呢

  •  
  •   zxCoder · 2021 年 1 月 6 日 · 639 次点击
    这是一个创建于 1920 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2021 年 1 月 7 日

    我目前想的是先不管优先级的问题,直接按二元表达式的文法把where子句都解析出来,比如 a=5 and b=6*2 or c=10 这样子,然后再按照学栈的时候计算表达式的那种方法,用两个栈,定义一些优先级来进行处理

    这样子的处理方式和课本里那种算符优先文法的处理方式是等价的吗,那种算法优先文法看是能看懂,但不知道应该怎么写

    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   820 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 293ms · UTC 21:22 · PVG 05:22 · LAX 14:22 · JFK 17:22
    ♥ Do have faith in what you're doing.