【问题标题】:Lemon parser as Xcode build rule柠檬解析器作为 Xcode 构建规则
【发布时间】:2019-02-21 09:12:37
【问题描述】:

在集成为'使用脚本的 Yacc 源文件'的 Xcode 中使用柠檬解析器时,柠檬生成的警告不会显示在 Xcode 警告部分。

【问题讨论】:

  • 警告不是写入标准输出,因此可以从 Xcode 构建选项卡中查看吗?
  • 它们可以在报告导航器中查看,但您需要在那里导航,过滤文件名...构建日志非常嘈杂。很容易忽略或忘记。通过下面的修复,警告也显示在语法文件中。
  • 好酷。感谢您的信息。

标签: xcode lemon


【解决方案1】:

柠檬警告输出与 Xcode 预期的格式不兼容。柠檬输出的格式如下:

filename.y:NR: message

注意: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 源文件'

警告现在也显示在语法文件中:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多