词法:使用Go编程语言构建解析器的一组工具

时间:2024-02-25 10:19:26
【文件属性】:

文件名称:词法:使用Go编程语言构建解析器的一组工具

文件大小:30KB

文件格式:ZIP

更新时间:2024-02-25 10:19:26

go golang parse parsing parser-combinators

词法 受启发的Go解析工具集。 输入值 解析器首先需要读取数据以查看数据是否与模式匹配。 如果数据不匹配,则解析器将需要移回最后一次成功解析的结束位置,以尝试其他模式。 如果文件很小,则仅将所有内容存储在RAM中即可,但是您的进程会占用大量RAM。 写入文件来执行此操作将意味着在磁盘上进行搜索,从而可能会降低性能。 相反, Stream类型提供了一种将符文(字符)从输入bufio.Reader到RAM中的缓存的方法。 一旦解析器使用了令牌,就将丢弃使用的字节。 消耗的RAM数量将取决于使用它的解析器。 Stream类型实现parse.Input接口: // Input represe


【文件预览】:
lexical-master
----input()
--------streamposition_test.go(4KB)
--------position_test.go(2KB)
--------forward_test.go(1KB)
--------stream.go(5KB)
--------stream_test.go(7KB)
--------position.go(1KB)
----LICENSE(1KB)
----scanner()
--------scanner_test.go(2KB)
--------scanner.go(786B)
----examples()
--------compose_test.go(2KB)
--------date_test.go(1KB)
--------url_test.go(2KB)
--------xml()
----.gitignore(7B)
----parse()
--------anyrune_test.go(954B)
--------all_test.go(2KB)
--------string_test.go(1KB)
--------then_test.go(1011B)
--------function_test.go(2KB)
--------multipleresultcombiner.go(1KB)
--------runewhere.go(1KB)
--------until_test.go(1KB)
--------many.go(2KB)
--------anyrune.go(270B)
--------string.go(581B)
--------all.go(787B)
--------function.go(2KB)
--------any_test.go(1KB)
--------until.go(753B)
--------multipleresultcombiner_test.go(881B)
--------many_test.go(2KB)
--------rune_test.go(926B)
--------runewhere_test.go(1KB)
--------any.go(541B)
--------rune.go(401B)
--------then.go(714B)
----README.md(6KB)

网友评论