This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 76163 - parser failed on array initializing
Summary: parser failed on array initializing
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: -- Other -- (show other bugs)
Version: 5.x
Hardware: All All
: P2 blocker (vote)
Assignee: Vladimir Voskresensky
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-10 15:59 UTC by Vladimir Voskresensky
Modified: 2007-09-06 18:10 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Voskresensky 2006-05-10 15:59:49 UTC
Example init_array.cpp (simplified ddd.C):
===========
int o[] = {
        1,  2
};

int o1[] = {
        1,  2,
};

int options[][2] = {
{ 3,              4 },
{ 5,              6 },
};

struct Menu {
    int a;  
    int b;
} m;


Menu menus[] = {
  { 7, 8},  
  { 9, 10},
};

struct Opt {
    int a;
    int b;
};

struct MMDesc {
    int a;  
    int b;
    Opt c;  
};

#define RECENT_MENU \
{ \
    { 1, 2, {3, 4} }, \
    { 5, 6, {7, 8} }, \
}

MMDesc command_recent_menu[] = RECENT_MENU;

void foo() {
    
}
==========
Parser failed:
# Parsing init_array.cpp
external_declaration_12[1]: Declaration
external_declaration_12[5]: Declaration
init_array.cpp:7:1: unexpected token: }
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.initializer(CPPParser.java:7215)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.initializer(CPPParser.java:7177)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:7007)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2053)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
init_array.cpp:7:2: unexpected token: ;
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.initializer(CPPParser.java:7206)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:7007)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2053)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
init_array.cpp:10:19: unexpected token: 4
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declarator(CPPParser.java:7086)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:6997)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2063)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
init_array.cpp:11:1: unexpected token: {
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declarator(CPPParser.java:7086)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:6997)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2063)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
nit_array.cpp:11:19: unexpected token: 6
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declarator(CPPParser.java:7086)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:6997)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2063)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
init_array.cpp:12:1: unexpected token: }
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declarator(CPPParser.java:7086)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:6997)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2063)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
external_declaration_1a[14]: Class definition
member_declaration_10[15]: Declaration(s)
member_declaration_10[16]: Declaration(s)
external_declaration_12[20]: Declaration
init_array.cpp:23:1: unexpected token: }
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.initializer(CPPParser.java:7215)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.initializer(CPPParser.java:7177)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:7007)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2053)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
init_array.cpp:23:2: unexpected token: ;
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.initializer(CPPParser.java:7206)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator(CPPParser.java:7007)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.init_declarator_list(CPPParser.java:2053)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.declaration(CPPParser.java:1637)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.external_declaration(CPPParser.java:1488)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:440)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
external_declaration_12[27]: Declaration
init_array.cpp:28:1: expecting EOF, found '}'
        at antlr.Parser.match(Parser.java:211)
        at
org.netbeans.modules.cnd.modelimpl.antlr2.generated.CPPParser.translation_unit(CPPParser.java:452)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.doParse(FileImpl.java:205)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.FileImpl.parse(FileImpl.java:170)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectImpl.findFile(ProjectImpl.java:54)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.findFile(ProjectBase.java:240)
        at
org.netbeans.modules.cnd.modelimpl.csm.core.ProjectBase.onFileIncluded(ProjectBase.java:217)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:349)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.test(TraceModel.java:194)
        at
org.netbeans.modules.cnd.modelimpl.trace.TraceModel.main(TraceModel.java:55)
Comment 1 Vladimir Voskresensky 2006-05-10 16:55:35 UTC
fixed by updating "initializer" rule in parser