📄 base
字号:
set VYACC = ${INSTALL_BIN}/vyacc set TRANSFORM = ${INSTALL_BIN}/pre_vyacc set LEXFIX = ${INSTALL_BIN}/fix_lex set YACCFIX = ${INSTALL_BIN}/yaccfix set INCLUDE_DIR = ${VY}/Include set STEPPAR = ${INCLUDE_DIR}/stepPar set CC = gcc set ECHOCMD = echo set FNAME = $1#pretest the yaccablity, lexablity, and compilablity of .y and .l before traslation $ECHOCMD "" $ECHOCMD "Pretest ..." $ECHOCMD " If no errors generated by this phase, your input is legal" $YACCFIX $FNAME.y yacc -d $FNAME.y.vy lex $FNAME.l $CC -o pretest.out y.tab.c lex.yy.c -ly -ll -lm#run the parser through the tool $ECHOCMD " Cleaning up pretest ..." rm pretest.out $FNAME.y.vy $ECHOCMD "" $ECHOCMD "Building ..." $ECHOCMD " Preprocessing $FNAME.y ..." $TRANSFORM < $FNAME.y > ${FNAME}_pre.y $ECHOCMD " Preprocessing $FNAME.l ..." $LEXFIX < $FNAME.l > ${FNAME}_pre.l $ECHOCMD " Translating $FNAME.y ..." $VYACC < ${FNAME}_pre.y > ${FNAME}_vyacc.y $ECHOCMD " Lexing ..." lex ${FNAME}_pre.l $ECHOCMD " Yaccing translation ..." yacc -P $STEPPAR -d ${FNAME}_vyacc.y#compile the result being sure to link with the vyacc libraries $ECHOCMD " Compiling translation and lex.yy.c..." $CC -o $FNAME.out y.tab.c lex.yy.c -ly -ll -lm $MOTIF_LIB \ -lXm -lXt -lX11 -I$INCLUDE_DIR \ -L$INSTALL_LIB -lvyacc# clean up $ECHOCMD "Cleaning up ..." rm ${FNAME}_vyacc.y ${FNAME}_pre.y ${FNAME}_pre.l rm y.tab.* lex.yy.c#tell how to use the result echo "" echo "To do a visualization type:" echo " $FNAME.out < <input_string>"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -