MCPcopy Create free account

hub / github.com/Dwarfartisan/goparsec2 / functions

Functions116 in github.com/Dwarfartisan/goparsec2

↓ 38 callersMethodTrap
(message string, args ...interface{})
state.go:10
↓ 33 callersMethodThen
Then 方法实现 Monad 的 >> 运算
parsec.go:37
↓ 22 callersMethodNext
()
state.go:9
↓ 17 callersMethodParse
Parse 简单的调用被封装的算子逻辑
parsec.go:11
↓ 17 callersFunctionTry
Try 尝试运行给定算子,如果给定算子报错,将state复位再返回错误信息
combinator.go:6
↓ 16 callersMethodBind
Bind 方法实现 Monad >>= 运算
parsec.go:25
↓ 16 callersFunctionReturn
Return 生成的算子总是返回给定值
atom.go:39
↓ 16 callersFunctiontestState
(data string)
byte_test.go:8
↓ 13 callersFunctionByte
Byte 判断下一个字节是否与给定值相等
byte.go:4
↓ 10 callersFunctionChoice
Choice 逐个尝试给定的算子,直到某个成功或者 state 无法复位,或者全部失败
combinator.go:20
↓ 9 callersFunctionChr
Chr 判断下一个字符是否与给定值相等
text.go:9
↓ 6 callersMethodExec
Exec 调用被封装的算子,如果返回错误,用panic抛出
parsec.go:16
↓ 6 callersFunctionRuneP
RuneP 通过一个谓词参数,提供通用的 rune 算子生成判断
text.go:97
↓ 4 callersFunctionBasicStateFromText
BasicStateFromText 构造一个新的 BasicState
state.go:35
↓ 4 callersFunctionBetween
Between 构造一个有边界算子的 P
combinator.go:86
↓ 4 callersFunctionTimes
Times 函数生成一个 P 算子,它匹配指定算子x次。我们在这里用它构造一个不严谨的ip判定
combinator.go:223
↓ 3 callersFunctionDo
Do 构造一个算子,其内部类似 Monad Do Environment ,将 Exec 形式恢复成 Parse 形式。 需要注意的是,捕获的非 error 类型的panic会重新抛出。
parsec.go:85
↓ 3 callersFunctionSkip
Skip 忽略 0 到若干次指定算子
combinator.go:132
↓ 3 callersFunctioncontent
()
byte_test.go:18
↓ 2 callersFunctionByteNone
ByteNone 检查后续的字符是否不是给定值中的任一个
byte.go:58
↓ 2 callersFunctionMany
Many 匹配 0 到若干次 psc 并返回结果序列
combinator.go:40
↓ 2 callersFunctionMany1
Many1 匹配 1 到若干次 psc 并返回结果序列
combinator.go:58
↓ 2 callersMethodOver
Over 方法实现一个简化的 bind 逻辑,如果两个算子都成功,返回前一个算子的结果,否则返回第一个发生的错误
parsec.go:48
↓ 2 callersMethodPos
()
state.go:7
↓ 2 callersMethodPos
Pos 返回 state 的当前位置
state.go:49
↓ 2 callersFunctionSepBy
SepBy 返回匹配 0 到若干次的带分隔符的算子
combinator.go:108
↓ 2 callersFunctionUpTo
UpTo 函数匹配 0 到 x 次 psc
combinator.go:186
↓ 2 callersFunctiondictBody
()
byte_test.go:155
↓ 2 callersFunctionerrRecover
(errp *error)
parsec.go:62
↓ 2 callersFunctionpair
()
byte_test.go:144
↓ 1 callersFunctionAtMost
AtMost 函数匹配至多 x 次 psc ,如果后续的数据仍然匹配成功,返回错误信息
combinator.go:201
↓ 1 callersMethodBegin
()
state.go:11
↓ 1 callersMethodCommit
(int)
state.go:12
↓ 1 callersFunctionFail
Fail 生成的算子总是返回给定错误
atom.go:46
↓ 1 callersFunctionFailIf
FailIf 是算子的否定检查,如果给定算子匹配成功,返回错误信息。否则退换复位并且返回 nil, 可以用于边界检查。
combinator.go:150
↓ 1 callersFunctionNewBasicState
NewBasicState 构造一个新的 BasicState
state.go:24
↓ 1 callersFunctionOption
Option 实现一个默认值封装,如果给定算子失败,返回默认值 x
combinator.go:272
↓ 1 callersFunctionRepeat
Repeat 函数生成一个 P 算子,它匹配指定算子x到y次。
combinator.go:156
↓ 1 callersMethodRollback
(int)
state.go:13
↓ 1 callersFunctionRuneOf
RuneOf 检查后续的字符是否是给定值中的某一个
text.go:43
↓ 1 callersMethodSeekTo
SeekTo 将指针移动到指定位置
state.go:54
↓ 1 callersFunctionSepBy1
SepBy1 返回匹配 1 到若干次的带分隔符的算子
combinator.go:97
↓ 1 callersFunctionSkip1
Skip1 忽略 1 到若干次指定算子
combinator.go:144
↓ 1 callersFunctionStr
Str 判断后续的字符串是否匹配给定的串
text.go:83
↓ 1 callersFunctionToString
ToString 将封装为 interface{} 的 []interface{} 转成 string,如果输入数据与前面提到的规范不符,会 panic
text.go:203
↓ 1 callersMethodTrap
Trap 是构造错误信息的辅助函数,它传递错误的位置,并提供字符串格式化功能
state.go:73
↓ 1 callersFunctiondict
(state State)
byte_test.go:169
FunctionAsFloat32
AsFloat32 判断当前元素是否为 float32
types.go:52
FunctionAsFloat64
AsFloat64 判断当前元素是否为 float64
types.go:40
FunctionAsInt
AsInt 判断当前元素是否为一个 int
types.go:28
FunctionAsRune
AsRune 判断当前元素是否为一个 rune
types.go:16
FunctionAsString
AsString 判断当前元素是否为 string
types.go:64
FunctionAtLeast
AtLeast 函数匹配至少 x 次 psc
combinator.go:212
MethodBegin
Begin 开始一个事务并返回事务号,State 的 Begin 总是记录比较靠后的位置。
state.go:78
FunctionByteOf
ByteOf 检查后续的字符是否是给定值中的某一个
byte.go:38
FunctionByteP
ByteP 通过一个谓词参数,提供通用的 rune 算子生成判断
byte.go:92
FunctionBytes
Bytes 判断后续的字节串是否匹配给定的串
byte.go:78
MethodCommit
Commit 提交一个事务,将其从注册状态中删除,将事务位置保存为比较靠前的位置
state.go:86
FunctionCrlf
Crlf 构造一个 \n\r 校验算子
text.go:132
FunctionDigit
Digit 构造一个数字字符校验算子
text.go:160
FunctionEOF
EOF 仅仅到达结尾时匹配成功
atom.go:53
FunctionEndOfLine
EndOfLine 匹配 \n\r 或 \n 。
text.go:137
FunctionEnv
Env 函数与 P 算子的 Exec 方法对应,将其抛出的 error 还原为无 panic 的流程,用于模拟 Haskell Monad Do 。需要注意的是,捕获的非 error 类型的panic会重新抛出。
parsec.go:78
FunctionEq
Eq 判断下一个数据是否与给定值相等,这里简单的使用了反射
atom.go:11
MethodError
()
state.go:106
FunctionFloat
Float 返回一个有符号实数的解析算子
text.go:195
FunctionInRange
InRange 函数生成一个 P 算子,它匹配指定算子x到y次。如果第 y+1 次仍然成功,返回错误信息
combinator.go:171
FunctionInt
Int 返回一个有符号整型的解析算子
text.go:178
FunctionLetter
Letter 构造一个字母校验算子
text.go:150
FunctionManyTill
ManyTill 返回以指定算子结尾的 Many
combinator.go:113
FunctionMaybe
Maybe 在算子失败时返回 nil
combinator.go:279
FunctionNByte
NByte 判断下一个字符是否与给定值不相等
byte.go:21
FunctionNChr
NChr 判断下一个字符是否与给定值不相等
text.go:26
FunctionNe
Ne 判断下一个数据是否与给定值不相等,这里简单的使用了反射
atom.go:25
FunctionNewline
Newline 构造一个 newline 校验算子
text.go:127
MethodNext
Next 实现迭代逻辑
state.go:63
FunctionNil
Nil 判断当前元素是否为 nil
types.go:4
FunctionNoneOf
NoneOf 期待下一个元素不属于给定的参数中的任一个
atom.go:78
FunctionNumber
Number 构造一个 Number 校验算子
text.go:155
FunctionOne
One 仅仅简单的返回下一个迭代结果,或者得到 eof 错误
atom.go:6
FunctionOneOf
OneOf 期待下一个元素属于给定的参数中的一个
atom.go:62
FunctionReturnString
ReturnString 用 Return 包装 ToString,使其适用于组合子表达式。
text.go:224
MethodRollback
Rollback 取消一个事务,将 pos 移动到 该位置,将事务位置保存为比较靠前的位置
state.go:93
FunctionRuneNone
RuneNone 检查后续的字符是否不是给定值中的任一个
text.go:63
MethodSeekTo
(int)
state.go:8
FunctionSpace
Space 构造一个空格校验算子
text.go:115
FunctionTestArrayBody0
(t *testing.T)
byte_test.go:112
FunctionTestArrayBody1
(t *testing.T)
byte_test.go:120
FunctionTestArrayBody2
(t *testing.T)
byte_test.go:128
FunctionTestArrayBody3
(t *testing.T)
byte_test.go:136
FunctionTestAtom0
(t *testing.T)
byte_test.go:51
FunctionTestAtom1
(t *testing.T)
byte_test.go:59
FunctionTestContent
(t *testing.T)
byte_test.go:22
FunctionTestDict0
(t *testing.T)
byte_test.go:172
FunctionTestDictBody
(t *testing.T)
byte_test.go:159
FunctionTestFloat0
(t *testing.T)
float_test.go:5
FunctionTestFloat1
(t *testing.T)
float_test.go:20
FunctionTestFloat2
(t *testing.T)
float_test.go:36
FunctionTestJsonTrue0
(t *testing.T)
byte_test.go:191
FunctionTestListen
(t *testing.T)
combinator_test.go:36
next →1–100 of 116, ranked by callers