cont.add_trigger('#', oneline, STATEOL_OUTSIDE) # STATE_PROP_VALUE_CONT @oneline.state(STATEOL_INSIDE, ('\n', STATEOL_OUTSIDE)) def handler(char, context): context.stop(pushback='\n') oneline.state_noaction(STATEOL_INSIDE, (False, STATEOL_INSIDE)) oneline.state_noaction(STATEOL_OUTSIDE, ('#', STATEOL_INSIDE)) STATEML_INSIDE, STATEML_PROB_INSIDE, STATEML_OUTSIDE, STATEML_PROB_OUTSIDE = range(4) multiline = Context() cont.add_trigger('/', multiline, STATEML_OUTSIDE) # STATE_PROP_VALUE_CONT multiline.state_noaction(STATEML_OUTSIDE, ('/', STATEML_PROB_INSIDE)) @multiline.state(STATEML_PROB_INSIDE, (False, STATEML_OUTSIDE)) def handler(char, context): context.stop(pushback='/'+char) multiline.state_noaction(STATEML_PROB_INSIDE, ('*', STATEML_INSIDE)) multiline.state_noaction(STATEML_INSIDE, ('*', STATEML_PROB_OUTSIDE)) multiline.state_noaction(STATEML_INSIDE, (False, STATEML_INSIDE)) multiline.state_noaction(STATEML_PROB_OUTSIDE, (False, STATEML_INSIDE)) multiline.state_noaction(STATEML_PROB_OUTSIDE, ('*', STATEML_PROB_OUTSIDE)) @multiline.state(STATEML_PROB_OUTSIDE, ('/', STATEML_OUTSIDE)) def handler(char, context): context.stop() if __name__ == '__main__': data = file(sys.argv[1]) cont.process(data, STATE_OUT)