'YYSTYPE'没有名称为'-'的联合类型成员

肖瓦

我已将YYSTYPE联合声明为

%union
{
        char* stringValue;
        union int_double_string* ids;
}

int_double_string 被声明为

union int_double_string
{
        short type;     //0:int 1:double 2:string
        int intValue;
        double doubleValue;
        char* stringValue;
};

一些代币

%token <stringValue> KEY
%token <int_double_string> VALUE
%token <stringValue> COMMENT    
%type <stringValue> pair
%type <int_double_string> key_expr

但是无论我在哪里使用token VALUE,它都会给我带来常见错误。

‘YYSTYPE’ has no member named ‘int_double_string’

pair:
        KEY ws '=' ws VALUE     {
                char S5[15];
                addPair($1, $5);   //Error here and where-ever I use $5 in this function
                ...

为什么这样,尽管我已经正确声明了?我也在lex文件中使用了变量。它在那里显示没有错误。

lex文件

{integer}       {
                yylval.ids = malloc(sizeof(union int_double_string));
                yylval.ids->type = 0;
                yylval.ids->intValue = atoi(yytext);
                return VALUE;
        }

我认为这与工会内部工会的概念有关。

该怎么办?

查理·伯恩斯
‘YYSTYPE’ has no member named ‘int_double_string’

在ID%type <id>%token <id>需求是在一个领域yyunion

因此,定义为int_double_string类型的令牌必须为ID类型

%token <int_double_string> VALUE
%type <int_double_string> key_expr

像这样

%token <ids> VALUE
%type <ids> key_expr

第二个参数addPair应该是union int_double_string*

在典型的yacc用法中,您应该输入以下所有字段:

short type;     //0:int 1:double 2:string
int intValue;
double doubleValue;
char *stringVal;

进入yyunion本身,并且在yyunion中没有联合字段。我并不是说不能,但这很不寻常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++函数参数数据类型没有名称

来自分类Dev

厨师:没有名称为“ httpd”的公式

来自分类Dev

没有名称为sayHello的请求处理方法

来自分类Dev

XSLT:如何在同一篇文章中访问名称空间类型和没有名称空间类型的元素

来自分类Dev

没有名称为“ check-facebook”的资源所有者

来自分类Dev

HWIOAuthBundle:没有名称为“ check-google”的资源所有者

来自分类Dev

Eclipselink Maven没有名称为EntityManager的持久性提供程序

来自分类Dev

没有名称为defaultPersistenceUnit的EntityManager的持久性提供程序

来自分类Dev

Spring MVC:DispatcherServlet中没有名称为mvc-dispatcher的映射

来自分类Dev

着色器中没有名称为“ u_proj”的制服

来自分类Dev

Doctrine \ DBAL \ Schema \ SchemaException:表'users'上没有名称为'deleted_at'的列

来自分类Dev

没有名称为defaultPersistenceUnit的EntityManager的持久性提供程序

来自分类Dev

转到:没有名称的模板

来自分类Dev

没有名称的模板类

来自分类Dev

ElasticsearchIllegalArgumentException没有名称功能

来自分类Dev

没有名称的图标

来自分类Dev

没有名称为“ google”的资源所有者(集成了HWIOAuthBundle和FOSUserBundle)

来自分类Dev

名称空间“ namespace”中没有名为“ name”的成员

来自分类Dev

名称空间“ namespace”中没有名为“ name”的成员

来自分类Dev

LibGdx Shader(“着色器中没有名称为'u_texture'的统一制服”)

来自分类Dev

警告:此模块中没有名称为“positio”的属性,未在univention ucs 中设置值

来自分类Dev

查找没有名称的目录或文件?

来自分类Dev

如何获取没有名称的django url的url

来自分类Dev

嵌套类没有名称空间

来自分类Dev

删除没有名称的外键Oracle

来自分类Dev

将没有名称的变量传递给函数

来自分类Dev

XML中没有名称空间的元素

来自分类Dev

没有名称的Angularjs表单验证输入字段

来自分类Dev

检索没有名称空间的Office.customeXMLparts

Related 相关文章

  1. 1

    C ++函数参数数据类型没有名称

  2. 2

    厨师:没有名称为“ httpd”的公式

  3. 3

    没有名称为sayHello的请求处理方法

  4. 4

    XSLT:如何在同一篇文章中访问名称空间类型和没有名称空间类型的元素

  5. 5

    没有名称为“ check-facebook”的资源所有者

  6. 6

    HWIOAuthBundle:没有名称为“ check-google”的资源所有者

  7. 7

    Eclipselink Maven没有名称为EntityManager的持久性提供程序

  8. 8

    没有名称为defaultPersistenceUnit的EntityManager的持久性提供程序

  9. 9

    Spring MVC:DispatcherServlet中没有名称为mvc-dispatcher的映射

  10. 10

    着色器中没有名称为“ u_proj”的制服

  11. 11

    Doctrine \ DBAL \ Schema \ SchemaException:表'users'上没有名称为'deleted_at'的列

  12. 12

    没有名称为defaultPersistenceUnit的EntityManager的持久性提供程序

  13. 13

    转到:没有名称的模板

  14. 14

    没有名称的模板类

  15. 15

    ElasticsearchIllegalArgumentException没有名称功能

  16. 16

    没有名称的图标

  17. 17

    没有名称为“ google”的资源所有者(集成了HWIOAuthBundle和FOSUserBundle)

  18. 18

    名称空间“ namespace”中没有名为“ name”的成员

  19. 19

    名称空间“ namespace”中没有名为“ name”的成员

  20. 20

    LibGdx Shader(“着色器中没有名称为'u_texture'的统一制服”)

  21. 21

    警告:此模块中没有名称为“positio”的属性,未在univention ucs 中设置值

  22. 22

    查找没有名称的目录或文件?

  23. 23

    如何获取没有名称的django url的url

  24. 24

    嵌套类没有名称空间

  25. 25

    删除没有名称的外键Oracle

  26. 26

    将没有名称的变量传递给函数

  27. 27

    XML中没有名称空间的元素

  28. 28

    没有名称的Angularjs表单验证输入字段

  29. 29

    检索没有名称空间的Office.customeXMLparts

热门标签

归档