bison中属性结构问题

发布于 2022-09-19 12:39:30 字数 687 浏览 7 评论 0

number  : BASED_NUMBER
             { $$ = $1; based_size = 0;}
        | DEC_NUMBER
             { $$ = $1; based_size = 0;}
        | DEC_NUMBER BASED_NUMBER
             { $$ = pform_verinum_with_size($1,$2, @2.text, @2.first_line);
               based_size = 0; }

请问一下,上面

@2.text

代表什么,
@2.first_line在手册中可以查到,好象代表BASED_NUMBER的所在行号吧?但还不是很明白,能否解释下?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

猫弦 2022-09-26 12:39:30

/* Recent version of bison expect that the user supply a
   YYLLOC_DEFAULT macro that makes up a yylloc value from existing
   values. I need to supply an explicit version to account for the
   text field, that otherwise won't be copied. */
# define YYLLOC_DEFAULT(Current, Rhs, N)  do {       \
  (Current).first_line   = (Rhs)[1].first_line;      \
  (Current).first_column = (Rhs)[1].first_column;    \
  (Current).last_line    = (Rhs)[N].last_line;       \
  (Current).last_column  = (Rhs)[N].last_column;     \
  (Current).text         = (Rhs)[1].text;   } while (0)

这里作者已经做了解释

橙味迷妹 2022-09-26 12:39:30

bison的扩展,可以更方便的调试之类。
我没用过

你没皮卡萌 2022-09-26 12:39:30

学习了,这个我不会呢1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文