[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] access IBinary file?
|
Sorry Charley,
Wrong click lead to post question in wrong place...
David
On Tue, Sep 29, 2009 at 6:44 PM, David Sariel <datosar@xxxxxxxxx> wrote:
> Hi Mike,
> Thanks a lot for the answer!
> I have a written a grammar that was received by adding/dropping rules
> in UPC/C99 and the generated parser seems reducing rules correctly.
>
> Now I want to reuse as much as possible the parser action classes
> (C99BuildASTParserAction, BuildASTParserAction, AbstractParserAction)
> in the manner that will cause the
> 1) Syntax highlighting
> 2) Code outline
> 3) Code completion
> to work with the new language (I have the part of keyword highlighting
> already working).
>
> The problem is that the language I’m working with has no declaration
> and type sections that are presented in C99. Bellow are the rules that
> bypass the declaration and type rules as I’ve defined:
>
> 119 172 directive ::= align_directive (NEW)
> 120 173 directive ::= ds_directive (NEW)
> 121 174 directive ::= dcb_directive (NEW)
> 122 175 directive ::= dcw_directive (NEW)
> 123 176 directive ::= dcl_directive (NEW)
> 124 177 directive ::= list_directive (NEW)
> 125 178 directive ::= nolist_directive (NEW)
> 126 179 directive ::= global_directive (NEW)
> 127 180 directive ::= const_directive (NEW)
> 128 181 directive ::= register_directive (NEW)
> 129 182 directive ::= reserve_directive (NEW)
> 130 183 directive ::= strict_directive (NEW)
> 131 184 directive ::= nonstrict_directive (NEW)
> 132 185 directive ::= sync_directive (NEW)
> 133 186 directive ::= nosync_directive (NEW)
> 134 187 directive ::= functioncall_attr (NEW)
> 135 188 directive ::= func_declarator (NEW)
> 136 189 directive ::= outofline_directive (NEW)
> 137 190 directive ::= struct_or_union_specifier (NEW)
> 138 191 directive ::= enum_specifier (NEW)
>
> 139 93 expression_statement ::= ;
> 140 94 expression_statement ::= expression_in_statement ;
> 141 154 expression_statement ::= directive ; (NEW)
>
> 158 213 section_definition ::= SectionDirective identifier_token
> compound_statement (NEW)
>
> 159 79 statement ::= labeled_statement
> 160 80 statement ::= compound_statement
> 161 81 statement ::= expression_statement
> 162 82 statement ::= selection_statement
> 163 83 statement ::= iteration_statement
> 164 84 statement ::= jump_statement
> 165 149 statement ::= include_directive (NEW)
> 166 150 statement ::= inline_func_definition (NEW)
> 167 151 statement ::= func_definition (NEW)
> 168 152 statement ::= section_definition (NEW)
> 169 153 statement ::= ERROR_TOKEN
>
> 170 92 block_item ::= statement (NEW)
> 171 90 block_item_list ::= block_item
> 172 91 block_item_list ::= block_item_list block_item
>
> 173 211 translation_unit ::= block_item_list
> 174 212 translation_unit ::=
> 175 0 $accept ::= translation_unit
> 176 2 <empty> ::=
>
>
>
> Hence, one of the problems I have is how to override the
> BuildASTParserAction#consumeTranslationUnit method to add/get
> statements to the TranslationUnit instead of
> addDeclarations/getDeclaration methods (the problem is that
> INodeFactory is annotated by @noextend, @noimplement).
>
> How to overcome this?
> Thank you,
> David
>
>
> On Tue, Sep 15, 2009 at 5:52 PM, Charley Wang <charley.wang@xxxxxxxxx> wrote:
>> Hi,
>>
>> I'm trying to test a plugin and one of the functions I'd like to test needs
>> an IBinary.
>>
>> Within the plugin itself I can use
>>
>> CCorePlugin.getDefault().getCoreModel().create(path).getCProject().getBinaryContainer().getBinaries();
>>
>> to get the binaries, but when executing as a JUnit Plugin-test this results
>> in Null Pointer Exceptions. After some poking around, I know it's the
>> create(path) function that's returning null, and I'm not sure why.
>>
>> Does anybody know why this line works in the regular plugin but not as a
>> plugin test? [And/or does anybody have any suggestions on how to fix this?]
>>
>> Thank you!
>> -Charley
>>
>>
>>
>> _______________________________________________
>> cdt-dev mailing list
>> cdt-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>>
>>
>