LAZY_ACTIONS

This is a map from an encoded ParsingOperation (an Integer) to a A_Tuple of A_BundleTrees to attempt if the instruction succeeds.

Note that the ParsingOperation#PARSE_PART and ParsingOperation#PARSE_PART_CASE_INSENSITIVELY instructions are treated specially, as only one keyword can be next in the source stream (so there's no value in checking whether it's an X, whether it's a Y, whether it's a Z, etc. Instead, the LAZY_INCOMPLETE and LAZY_INCOMPLETE_CASE_INSENSITIVEA_Map takes care of dealing with this efficiently with a single lookup.

Similarly, the ParsingOperation#CHECK_ARGUMENT instruction is treated specially. When it is encountered and the argument that was just parsed is a send phrase, that send phrase is looked up in the LAZY_PREFILTER_MAP, yielding the next message bundle tree. If it's not present as a key (or the argument isn't a send), then the instruction is looked up normally in the lazy actions map.

Properties

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