.TITLE EDITPARSER HEX-Edit state table for LIB$TPARSE .ENABLE GLOBAL ; look to the PASCAL routines ; for undefined symbols APOSTROPHE = ^X27 ; Define constants TILDE = ^X7E $INIT_STATE EDIT_PARSE_STATE,EDIT_PARSE_KEY $STATE START $TRAN TPA$_EOS, TPA$_EXIT, SET_EDIT_FLAG $TRAN TPA$_HEX, EDIT_STATE_5, SET_EDIT,,,1 $TRAN '^', EDIT_STATE_1 $TRAN APOSTROPHE, EDIT_STATE_2,TURN_ON_BLANKS $TRAN TILDE, EDIT_STATE_3 $TRAN '-', EDIT_STATE_4,TURN_ON_BLANKS $END_STATE $STATE EDIT_STATE_1 ; by character ^c $TRAN TPA$_EOS, EDIT_STATE_FINAL, SET_PREVIOUS,,,0 $TRAN '#', EDIT_STATE_5, SET_EDIT,,,2 $TRAN TPA$_ANY, EDIT_STATE_5, SET_EDIT,,,3 $END_STATE $STATE EDIT_STATE_2 ; by character 'c $TRAN TPA$_EOS, TPA$_EXIT, INCOMPLETE $TRAN TPA$_ANY, EDIT_STATE_5, SET_EDIT,,,4 $END_STATE $STATE EDIT_STATE_3 ; by character ~c $TRAN TPA$_EOS, TPA$_EXIT, INCOMPLETE $TRAN '#', EDIT_STATE_FINAL, SET_EDIT,,,5 $TRAN TPA$_ANY, EDIT_STATE_FINAL, SET_EDIT,,,6 $END_STATE $STATE EDIT_STATE_4 ; by character -c $TRAN TPA$_EOS, TPA$_EXIT, INCOMPLETE $TRAN TPA$_ANY, EDIT_STATE_5, SET_EDIT,,,7 $END_STATE $STATE EDIT_STATE_5 ; Look for the ^ $TRAN '^', EDIT_STATE_FINAL, SET_PREVIOUS,,,1 $TRAN TPA$_LAMBDA, EDIT_STATE_FINAL $END_STATE $STATE EDIT_STATE_FINAL $TRAN TPA$_LAMBDA, TPA$_EXIT $END_STATE .END