gpt4 book ai didi

rascal - 解析以换行符结尾的文件时出现问题

转载 作者:行者123 更新时间:2023-12-02 01:26:52 25 4
gpt4 key购买 nike

这似乎有点像一个微不足道的问题,但我坚持使用我自己的岛语法解析文件 EOF 结尾。顺便说一句,我正在使用新的 VScode 扩展。

我主要使用基本食谱中的示例,并具有具有以下布局规则的简单语法:

layout Whitespace = [\t-\n\r\ ]*;
lexical IntegerLiteral = [0-9]+ !>> [0-9];
lexical Comment = "%%" ![\n]* $;

使用这个和一些规则,它可以解析一些简单的文件,但只要文件以换行符结尾,就会给出解析错误。 (行之间的换行符没有问题)。

我遗漏了一些明显的东西吗?

谢谢!

最佳答案

听起来有点像你的语法缺少起始非终结符。所有语法规则在其组成符号之间都有空格,但不在开头或结尾。

起始非终结符是异常(exception):

start syntax Islands = Island+;

Islands parseIslands(loc input)
= parse(#start[Islands], input).top;

将起始非终结符传递给parse将允许文件以空格开头和结尾,并且使用.top字段您可以再次忽略解析树中的空格通过投影中间的岛屿树。

关于rascal - 解析以换行符结尾的文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74328221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com