Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Dwarfartisan/goparsec2
/ functions
Functions
116 in github.com/Dwarfartisan/goparsec2
⨍
Functions
116
◇
Types & classes
4
↓ 38 callers
Method
Trap
(message string, args ...interface{})
state.go:10
↓ 33 callers
Method
Then
Then 方法实现 Monad 的 >> 运算
parsec.go:37
↓ 22 callers
Method
Next
()
state.go:9
↓ 17 callers
Method
Parse
Parse 简单的调用被封装的算子逻辑
parsec.go:11
↓ 17 callers
Function
Try
Try 尝试运行给定算子,如果给定算子报错,将state复位再返回错误信息
combinator.go:6
↓ 16 callers
Method
Bind
Bind 方法实现 Monad >>= 运算
parsec.go:25
↓ 16 callers
Function
Return
Return 生成的算子总是返回给定值
atom.go:39
↓ 16 callers
Function
testState
(data string)
byte_test.go:8
↓ 13 callers
Function
Byte
Byte 判断下一个字节是否与给定值相等
byte.go:4
↓ 10 callers
Function
Choice
Choice 逐个尝试给定的算子,直到某个成功或者 state 无法复位,或者全部失败
combinator.go:20
↓ 9 callers
Function
Chr
Chr 判断下一个字符是否与给定值相等
text.go:9
↓ 6 callers
Method
Exec
Exec 调用被封装的算子,如果返回错误,用panic抛出
parsec.go:16
↓ 6 callers
Function
RuneP
RuneP 通过一个谓词参数,提供通用的 rune 算子生成判断
text.go:97
↓ 4 callers
Function
BasicStateFromText
BasicStateFromText 构造一个新的 BasicState
state.go:35
↓ 4 callers
Function
Between
Between 构造一个有边界算子的 P
combinator.go:86
↓ 4 callers
Function
Times
Times 函数生成一个 P 算子,它匹配指定算子x次。我们在这里用它构造一个不严谨的ip判定
combinator.go:223
↓ 3 callers
Function
Do
Do 构造一个算子,其内部类似 Monad Do Environment ,将 Exec 形式恢复成 Parse 形式。 需要注意的是,捕获的非 error 类型的panic会重新抛出。
parsec.go:85
↓ 3 callers
Function
Skip
Skip 忽略 0 到若干次指定算子
combinator.go:132
↓ 3 callers
Function
content
()
byte_test.go:18
↓ 2 callers
Function
ByteNone
ByteNone 检查后续的字符是否不是给定值中的任一个
byte.go:58
↓ 2 callers
Function
Many
Many 匹配 0 到若干次 psc 并返回结果序列
combinator.go:40
↓ 2 callers
Function
Many1
Many1 匹配 1 到若干次 psc 并返回结果序列
combinator.go:58
↓ 2 callers
Method
Over
Over 方法实现一个简化的 bind 逻辑,如果两个算子都成功,返回前一个算子的结果,否则返回第一个发生的错误
parsec.go:48
↓ 2 callers
Method
Pos
()
state.go:7
↓ 2 callers
Method
Pos
Pos 返回 state 的当前位置
state.go:49
↓ 2 callers
Function
SepBy
SepBy 返回匹配 0 到若干次的带分隔符的算子
combinator.go:108
↓ 2 callers
Function
UpTo
UpTo 函数匹配 0 到 x 次 psc
combinator.go:186
↓ 2 callers
Function
dictBody
()
byte_test.go:155
↓ 2 callers
Function
errRecover
(errp *error)
parsec.go:62
↓ 2 callers
Function
pair
()
byte_test.go:144
↓ 1 callers
Function
AtMost
AtMost 函数匹配至多 x 次 psc ,如果后续的数据仍然匹配成功,返回错误信息
combinator.go:201
↓ 1 callers
Method
Begin
()
state.go:11
↓ 1 callers
Method
Commit
(int)
state.go:12
↓ 1 callers
Function
Fail
Fail 生成的算子总是返回给定错误
atom.go:46
↓ 1 callers
Function
FailIf
FailIf 是算子的否定检查,如果给定算子匹配成功,返回错误信息。否则退换复位并且返回 nil, 可以用于边界检查。
combinator.go:150
↓ 1 callers
Function
NewBasicState
NewBasicState 构造一个新的 BasicState
state.go:24
↓ 1 callers
Function
Option
Option 实现一个默认值封装,如果给定算子失败,返回默认值 x
combinator.go:272
↓ 1 callers
Function
Repeat
Repeat 函数生成一个 P 算子,它匹配指定算子x到y次。
combinator.go:156
↓ 1 callers
Method
Rollback
(int)
state.go:13
↓ 1 callers
Function
RuneOf
RuneOf 检查后续的字符是否是给定值中的某一个
text.go:43
↓ 1 callers
Method
SeekTo
SeekTo 将指针移动到指定位置
state.go:54
↓ 1 callers
Function
SepBy1
SepBy1 返回匹配 1 到若干次的带分隔符的算子
combinator.go:97
↓ 1 callers
Function
Skip1
Skip1 忽略 1 到若干次指定算子
combinator.go:144
↓ 1 callers
Function
Str
Str 判断后续的字符串是否匹配给定的串
text.go:83
↓ 1 callers
Function
ToString
ToString 将封装为 interface{} 的 []interface{} 转成 string,如果输入数据与前面提到的规范不符,会 panic
text.go:203
↓ 1 callers
Method
Trap
Trap 是构造错误信息的辅助函数,它传递错误的位置,并提供字符串格式化功能
state.go:73
↓ 1 callers
Function
dict
(state State)
byte_test.go:169
Function
AsFloat32
AsFloat32 判断当前元素是否为 float32
types.go:52
Function
AsFloat64
AsFloat64 判断当前元素是否为 float64
types.go:40
Function
AsInt
AsInt 判断当前元素是否为一个 int
types.go:28
Function
AsRune
AsRune 判断当前元素是否为一个 rune
types.go:16
Function
AsString
AsString 判断当前元素是否为 string
types.go:64
Function
AtLeast
AtLeast 函数匹配至少 x 次 psc
combinator.go:212
Method
Begin
Begin 开始一个事务并返回事务号,State 的 Begin 总是记录比较靠后的位置。
state.go:78
Function
ByteOf
ByteOf 检查后续的字符是否是给定值中的某一个
byte.go:38
Function
ByteP
ByteP 通过一个谓词参数,提供通用的 rune 算子生成判断
byte.go:92
Function
Bytes
Bytes 判断后续的字节串是否匹配给定的串
byte.go:78
Method
Commit
Commit 提交一个事务,将其从注册状态中删除,将事务位置保存为比较靠前的位置
state.go:86
Function
Crlf
Crlf 构造一个 \n\r 校验算子
text.go:132
Function
Digit
Digit 构造一个数字字符校验算子
text.go:160
Function
EOF
EOF 仅仅到达结尾时匹配成功
atom.go:53
Function
EndOfLine
EndOfLine 匹配 \n\r 或 \n 。
text.go:137
Function
Env
Env 函数与 P 算子的 Exec 方法对应,将其抛出的 error 还原为无 panic 的流程,用于模拟 Haskell Monad Do 。需要注意的是,捕获的非 error 类型的panic会重新抛出。
parsec.go:78
Function
Eq
Eq 判断下一个数据是否与给定值相等,这里简单的使用了反射
atom.go:11
Method
Error
()
state.go:106
Function
Float
Float 返回一个有符号实数的解析算子
text.go:195
Function
InRange
InRange 函数生成一个 P 算子,它匹配指定算子x到y次。如果第 y+1 次仍然成功,返回错误信息
combinator.go:171
Function
Int
Int 返回一个有符号整型的解析算子
text.go:178
Function
Letter
Letter 构造一个字母校验算子
text.go:150
Function
ManyTill
ManyTill 返回以指定算子结尾的 Many
combinator.go:113
Function
Maybe
Maybe 在算子失败时返回 nil
combinator.go:279
Function
NByte
NByte 判断下一个字符是否与给定值不相等
byte.go:21
Function
NChr
NChr 判断下一个字符是否与给定值不相等
text.go:26
Function
Ne
Ne 判断下一个数据是否与给定值不相等,这里简单的使用了反射
atom.go:25
Function
Newline
Newline 构造一个 newline 校验算子
text.go:127
Method
Next
Next 实现迭代逻辑
state.go:63
Function
Nil
Nil 判断当前元素是否为 nil
types.go:4
Function
NoneOf
NoneOf 期待下一个元素不属于给定的参数中的任一个
atom.go:78
Function
Number
Number 构造一个 Number 校验算子
text.go:155
Function
One
One 仅仅简单的返回下一个迭代结果,或者得到 eof 错误
atom.go:6
Function
OneOf
OneOf 期待下一个元素属于给定的参数中的一个
atom.go:62
Function
ReturnString
ReturnString 用 Return 包装 ToString,使其适用于组合子表达式。
text.go:224
Method
Rollback
Rollback 取消一个事务,将 pos 移动到 该位置,将事务位置保存为比较靠前的位置
state.go:93
Function
RuneNone
RuneNone 检查后续的字符是否不是给定值中的任一个
text.go:63
Method
SeekTo
(int)
state.go:8
Function
Space
Space 构造一个空格校验算子
text.go:115
Function
TestArrayBody0
(t *testing.T)
byte_test.go:112
Function
TestArrayBody1
(t *testing.T)
byte_test.go:120
Function
TestArrayBody2
(t *testing.T)
byte_test.go:128
Function
TestArrayBody3
(t *testing.T)
byte_test.go:136
Function
TestAtom0
(t *testing.T)
byte_test.go:51
Function
TestAtom1
(t *testing.T)
byte_test.go:59
Function
TestContent
(t *testing.T)
byte_test.go:22
Function
TestDict0
(t *testing.T)
byte_test.go:172
Function
TestDictBody
(t *testing.T)
byte_test.go:159
Function
TestFloat0
(t *testing.T)
float_test.go:5
Function
TestFloat1
(t *testing.T)
float_test.go:20
Function
TestFloat2
(t *testing.T)
float_test.go:36
Function
TestJsonTrue0
(t *testing.T)
byte_test.go:191
Function
TestListen
(t *testing.T)
combinator_test.go:36
next →
1–100 of 116, ranked by callers