module

Obelisk::RuleActions

Helper to create rule actions

Class methods

by_groups(*types : TokenType) : RuleAction

Emit tokens for each capture group

Source
clear_combined(type : TokenType | Nil = nil) : RuleAction
Source
clear_context(type : TokenType | Nil = nil) : RuleAction
Source
combine(state : String, type : TokenType | Nil = nil) : RuleAction
Source
conditional(condition : Proc(LexerState, Bool), true_action : RuleAction, false_action : RuleAction | Nil = nil) : RuleAction

Conditional actions

Source
emit(type : TokenType) : RuleAction

Emit a single token of the given type

Source
exit_include(type : TokenType | Nil = nil) : RuleAction
Source
include(state : String, type : TokenType | Nil = nil) : RuleAction

Advanced state mutations

Source
pop(type : TokenType | Nil = nil) : RuleAction
Source
pop_and_uncombine(uncombine_state : String, type : TokenType | Nil = nil) : RuleAction
Source
push(state : String, type : TokenType | Nil = nil) : RuleAction

Basic state operations

Source
push_and_combine(push_state : String, combine_state : String, type : TokenType | Nil = nil) : RuleAction

Compound actions

Source
set_context(key : String, value : String, type : TokenType | Nil = nil) : RuleAction

Context operations

Source
set_context_from_match(key : String, type : TokenType | Nil = nil) : RuleAction
Source
uncombine(state : String, type : TokenType | Nil = nil) : RuleAction
Source