mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-11-05 14:31:22 +00:00
23 lines
623 B
Go
23 lines
623 B
Go
package utilities
|
|
|
|
// An OpCode is a opcode of compiled path patterns.
|
|
type OpCode int
|
|
|
|
// These constants are the valid values of OpCode.
|
|
const (
|
|
// OpNop does nothing
|
|
OpNop = OpCode(iota)
|
|
// OpPush pushes a component to stack
|
|
OpPush
|
|
// OpLitPush pushes a component to stack if it matches to the literal
|
|
OpLitPush
|
|
// OpPushM concatenates the remaining components and pushes it to stack
|
|
OpPushM
|
|
// OpConcatN pops N items from stack, concatenates them and pushes it back to stack
|
|
OpConcatN
|
|
// OpCapture pops an item and binds it to the variable
|
|
OpCapture
|
|
// OpEnd is the least positive invalid opcode.
|
|
OpEnd
|
|
)
|