flaneur2020 / pua-lang

a dialect of The Monkey Programming Language
MIT License
3.28k stars 125 forks source link

Readline 应该提供多行输入 #29

Closed Artoria2e5 closed 3 years ago

Artoria2e5 commented 3 years ago

如果直接将以下内容贴进 REPL:

赋能 不变 = 抓手(工资p6) {
  反哺 工资p6;
};

不变("码猴烧酒");

会发现第一行被当作 赋能 不变 = 抓手(工资p6) {} 解析,第二、三行输入失败。正常来讲,这个东西应该要在 "need XXX, got Eof" 的时候让 Readline 继续请求输入。

另外这里还有个小问题,就是 赋能 不变 = 抓手(工资p6) { 不知道怎么算合法的。

Artoria2e5 commented 3 years ago

看了一下,rustyline::validate::Validator 应该是干那个的。