根据 Pascal 语法,程序以点结束。如果后面有任何内容,Free Pascal (FPC/Lazarus) 会省略剩余的字符。
我想要类似的行为。我使用了一个自定义的 monadic 标记器,它很懒惰,所以我只是希望 Happy 在主规则成功时不要调用延续。
基本上我想要这样的东西:
Program : Header Decls Body '.' SKIP_THE_REMAINING_INPUT { ... }
重要的是,在解析最后一个点之后根本不应该发生标记化,因为它可能会导致错误。