gpt4 book ai didi

grammar - 对文件进行语法子解析

转载 作者:行者123 更新时间:2023-12-01 22:24:43 25 4
gpt4 key购买 nike

假设您只想使用 Perl 6 语法解析大文件的开头。为了避免将整个文件读成字符串,然后调用subparse在绳子上。读取文件时是否可以进行子解析?

我在 Grammar 类中找不到任何 subparsefile() 方法,所以我猜这很难实现。但理论上应该是可能的,例如How do I search a file for a multiline pattern without reading the whole file into memory?

最佳答案

目前还不能。目前解析任何内容都需要整个字符串存在于内存中。

话虽如此,如果您知道图案可以扩展的最大行数,您可以执行以下操作:

my $max = 3; # maximum number of lines
for "textfile".IO.lines(:!chomp).rotor( $max => -$max + 1 ) -> @lines {
@lines.join.subparse( $grammar)
# and whatever you would like to do
}

这不是最快的方法,但它不必读取内存中的整个文件。

关于grammar - 对文件进行语法子解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47818495/

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