perl6 Grammar解释结构化文本只能解释第一个
本帖最后由 aef25u 于 2019-04-14 09:57 编辑解释结构化文本只能解释第一个“Obs:”,运行到第二个“Obs:”时出错,请各位帮忙分析一下错误原因。
1、结构化文本样式:
Obs:
1921 -4.4 -7.1 -6.8 -4.3 -0.8 2.2 4.7 5.8 2.7 -2.0 -2.1 -4.0
1922 -0.9 -1.7 -6.2 -3.7 -1.6 2.9 4.8 6.3 2.7 -0.2 -3.8 -2.6
1923 -2.8 -2.7 -4.6 -1.8 1.1 3.3 6.1 6.9 5.8 1.2 -3.5 -0.8
1924 -2.3 -5.3 -3.2 -1.6 2.0 2.9 6.7 7.2 3.8 0.6 -0.3 -1.3
Obs:
1925 -4.3 -7.1 -6.8 -4.3 -0.8 2.2 4.7 5.8 2.7 -2.0 -2.1 -4.0
1926 -0.9 -1.7 -6.2 -3.7 -1.6 2.9 4.8 6.3 2.7 -0.2 -3.8 -2.6
1927 -2.9 -2.7 -4.6 -1.8 1.1 3.3 6.1 6.9 5.8 1.2 -3.5 -0.8
1928 -3.3 -5.3 -3.2 -1.6 2.0 2.9 6.7 7.2 3.8 0.6 -0.3 -1.3
2、我的代码(直接粘代码有些字符会出错,所以只能上传图片):
Grammar真的好难调试,一点未注意就出错了。要这样改写:
token TOP{ ^ ['Obs:' \n <observations>]+ $ }
感觉 perl 6 可以直接写 Parser 好梦幻,但是英文不好 看文档很吃力。 回复 3# 523066680
是很梦幻,但perl6或raku实现了。
回复 2# aef25u
是很梦幻,但perl6或者说raku实现了。
页:
[1]