当在 Xcode 中使用柠檬解析器集成为'使用脚本的 Yacc 源文件',由柠檬生成的警告不会显示在 Xcode 警告部分中。
柠檬警告输出与 Xcode 期望的格式不兼容。 Lemon 输出的格式如下:
filename.y:NR: message
Note:Lemon 似乎还在其警告输出中将文件名限制为 20 个字符。
虽然 Xcode 期望:
path:NR: warning: message
这可以用 awk 来完成lemon $INPUT_FILE_BASE.y | awk -F ': ' -v base="${BASE}" '{ print base "/" $1 ": warning: " $2}'
这是我的完整脚本:
LEMON=$(printf %q "$BUILT_PRODUCTS_DIR/lemon")
LEMPAR=$(printf %q "$SRCROOT/../Vendor/lemon/lempar.c")
BASE=$(dirname "$INPUT_FILE_PATH.y")
cd $DERIVED_FILES_DIR
cp $INPUT_FILE_PATH $INPUT_FILE_BASE.y
cp $LEMPAR $DERIVED_FILES_DIR/lempar.c
$LEMON $INPUT_FILE_BASE.y | awk -F ': ' -v base="${BASE}" '{ print base "/" $1 ": warning: " $2}'
mv $INPUT_FILE_BASE.c $INPUT_FILE_BASE.m
Xcode 'Yacc source file using Script':
Warnings are also shown inline in the gramma file now:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)