示例#1
0
文件: conf2.py 项目: rrader/system-sw
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)