?? mkskel.tpu
字號:
! mkskel.tpu! usage:! edit/TPU/noDisplay/noSection/Command=mkskel.tpu flex.skl /Output=skel.c!! Create a C source file from the flex skeleton data. Copy the file,! changing backslash (\) to doubled backslash (\\) and quote (")! to backslash quote (\"). For each line, insert space+space+quote! at the beginning and quote+comma at the end. Bracket the updated! text with several lines of prologue and epilogue.! skelfile := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name")); SET(NO_WRITE, skelfile); target := '"' | '\'; !do this once, outside loops POSITION(BEGINNING_OF(skelfile)); !start here rest_of_line := CREATE_RANGE(MARK(NONE), MARK(NONE)); !also outside loops LOOP EXITIF MARK(NONE) = END_OF(skelfile); !are we done yet? COPY_TEXT(' "'); start_pos := MARK(NONE); POSITION(LINE_END); end_pos := MARK(NONE); MODIFY_RANGE(rest_of_line, start_pos, end_pos); LOOP next_match := SEARCH_QUIETLY(target, FORWARD, EXACT, rest_of_line); EXITIF next_match = 0; POSITION(BEGINNING_OF(next_match)); COPY_TEXT('\'); MOVE_HORIZONTAL(1); !past the matched character MODIFY_RANGE(rest_of_line, MARK(NONE), end_pos); ENDLOOP; POSITION(LINE_END); COPY_TEXT('",'); MOVE_VERTICAL(1); POSITION(LINE_BEGIN); !go to next line ENDLOOP; POSITION(BEGINNING_OF(skelfile)); !insert five line prologue COPY_TEXT('/* File created from flex.skl via mkskel.tpu */'); SPLIT_LINE; SPLIT_LINE; COPY_TEXT('#include "flexdef.h"'); SPLIT_LINE; SPLIT_LINE; COPY_TEXT('const char *skel[] = {'); SPLIT_LINE; POSITION(END_OF(skelfile)); !append two line epilogue COPY_TEXT(' 0'); SPLIT_LINE; COPY_TEXT('};'); !! SPLIT_LINE; WRITE_FILE(skelfile, GET_INFO(COMMAND_LINE, "output_file")); QUIT!--<eof>--
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -