分词:Go的解析器库

时间:2024-02-23 10:42:11
【文件属性】:

文件名称:分词:Go的解析器库

文件大小:175KB

文件格式:ZIP

更新时间:2024-02-23 10:42:11

go golang parser parser-library grammar

Go的简单解析器包 V2 这是分词的版本2。 有关详细信息,请参见。 注意:语义版本控制API的保证不适用于软件包-该API可能会在次要版本之间中断。 它可以安装: $ go get github.com/alecthomas/participle/v2@latest v0的最新版本可以通过以下方式安装: $ go get github.com/alecthomas/participle@latest 介绍 该软件包的目的是提供一种简单,惯用且优雅的方式在Go中定义解析器。 任何使用过encoding/json包的Go程序员都应该熟悉参与者定义语法的方法:struct field标记定义将什么以及如何将输入映射到相同的字段。 这对于Go编码器来说并不罕见,但对于解析器而言却很不寻常。 讲解 提供了一个,逐步介绍了如何创建.ini解析器。 标签语法 分词支持两种形式的struct标记语法。 最容易阅读的是语法使用整个struct标签的内容,例如。 Field string `@Ident @("," Ident)*` 但是,这与其他标签(例如JSON等)不能很好地共


【文件预览】:
participle-master
----lexer()
--------lexer.go(4KB)
--------doc.go(233B)
--------peek.go(2KB)
--------stateful()
--------text_scanner.go(2KB)
--------peek_test.go(1KB)
--------text_scanner_test.go(2KB)
--------errors.go(1KB)
----go.mod(211B)
----grammar.go(8KB)
----struct.go(5KB)
----doc.go(2KB)
----TUTORIAL.md(7KB)
----error.go(3KB)
----map_test.go(2KB)
----go.sum(1KB)
----map.go(3KB)
----experimental()
--------codegen()
----COPYING(1KB)
----error_test.go(1KB)
----ebnf.go(3KB)
----README.md(21KB)
----nodes.go(17KB)
----context.go(3KB)
----_examples()
--------ini()
--------go.mod(575B)
--------graphql()
--------precedenceclimbing()
--------expr2()
--------expr()
--------sql()
--------stateful()
--------toml()
--------go.sum(3KB)
--------thrift()
--------microc()
--------hcl()
--------protobuf()
--------ebnf()
--------jsonpath()
--------basic()
----parser.go(7KB)
----railroad.png(86KB)
----struct_test.go(2KB)
----lookahead_test.go(9KB)
----options.go(1KB)
----CHANGES.md(1KB)
----.golangci.yml(1KB)
----.circleci()
--------config.yml(850B)
----ebnf_test.go(594B)
----api.go(569B)
----ebnf()
--------ebnf.go(2KB)
--------ebnf_test.go(245B)
----cmd()
--------railroad()
----parser_test.go(33KB)

网友评论