PARSE_PART

16*N+3 - Parse the Nthmessage part of the current message. This will be a specific token. It should be matched case sensitively against the source token.

Functions

Link copied to clipboard
open fun checkArgumentIndex(instruction: Int): Int

Assume that the instruction encodes an operand that represents the index of an argument to be checked (for grammatical restrictions): answer the operand.

Link copied to clipboard
open fun describe(operand: Int): String

Describe the operation for the debugger, using the supplied operand.

Link copied to clipboard
fun encoding(operand: Int): Int

Answer the instruction coding of the receiver for the given operand. The receiver must be arity one (1), which is equivalent to its ordinal being greater than or equal to distinctInstructions.

Link copied to clipboard
open override fun keywordIndex(instruction: Int): Int

Assume that the instruction encodes an operand that represents a message part index: answer the operand. Answer 0 if the operand does not represent a message part.

Link copied to clipboard
open fun successorPcs(instruction: Int, currentPc: Int): List<Int>

Given an instruction and program counter, answer the list of successor program counters that should be explored. For example, a BRANCH_FORWARD instruction will need to visit both the next program counter and the branch target.

Link copied to clipboard
open fun typeCheckArgumentIndex(instruction: Int): Int

Extract the index of the type check argument for a TYPE_CHECK_ARGUMENT parsing instruction. This indexes the static MessageSplitter.constantForIndex.

Properties

Link copied to clipboard
val canRunIfHasFirstArgument: Boolean

Whether this operation can run successfully if there is a pre-parsed first argument that has not yet been consumed.

Link copied to clipboard
val commutesWithParsePart: Boolean

Whether this instance commutes with PARSE_PART instructions.

Link copied to clipboard
val encoding: Int

The instruction coding of the receiver.

Link copied to clipboard
val expandingStatisticInNanoseconds: Statistic

A Statistic that records the number of nanoseconds spent while expanding occurrences of this ParsingOperation.

Link copied to clipboard
val name: String
Link copied to clipboard
val ordinal: Int
Link copied to clipboard
val parsingStatisticInNanoseconds: Statistic

A Statistic that records the number of nanoseconds spent while executing occurrences of this ParsingOperation.