Skip to content

Instantly share code, notes, and snippets.

@brianray
Created October 25, 2017 03:10
Show Gist options
  • Save brianray/6625af5d1065b5b505a92d202a506335 to your computer and use it in GitHub Desktop.
Save brianray/6625af5d1065b5b505a92d202a506335 to your computer and use it in GitHub Desktop.
def transition_skip(fsm_obj):
pass
def transition_new_group(fsm_obj):
fsm_obj.group_current_level += 1
fsm_obj.current_group = RuleGroup(fsm_obj.current_group,
fsm_obj.group_current_level,
None)
def transition_append_pre(fsm_obj):
rule_count = fsm_obj.current_group.rule_count
fsm_obj.current_group.rules[rule_count - 1].prefix += fsm_obj.current_char
def transition_add_op(fsm_obj):
rule_count = fsm_obj.current_group.rule_count
fsm_obj.current_group.rules[rule_count - 1].op = fsm_obj.current_char
def transition_end_group(fsm_obj):
fsm_obj.group_current_level += 1
fsm_obj.current_group = RuleGroup(fsm_obj.current_group,
fsm_obj.group_current_level,
None)
def transition_end_rule(fsm_obj):
pass
def transition_add_op_new_rule(fsm_obj):
fsm_obj.current_group.rule_count += 1
fsm_obj.current_group.rules.append(Rule())
rule_count = fsm_obj.current_group.rule_count
fsm_obj.current_group.rules[rule_count - 1].op = fsm_obj.current_char
def transition_append_subj(fsm_obj):
rule_count = fsm_obj.current_group.rule_count
fsm_obj.current_group.rules[rule_count - 1].subject += fsm_obj.current_char
def transition_add_op_new_group(fsm_obj):
fsm_obj.current_group.op = fsm_obj.current_char
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment