Hi,
does anybody have an answer to this?
The structs do not match. I think this results from my rule:
group           :       (OPEN
                                children+=space*
                                (
                                children+=group children+=space* |
                                children+=plaintext children+=space* |
                                (children+=command | children+=escape)
                                (children+=delimiter children+=space+ | 
children+=delimiter | )
                                )+
                        CLOSE) -> ^(GROUP $children*) ;
Do you have a workaround?
Best regards, Yves

Am 24.10.2011 18:32, schrieb Yves Weißig:
> I attached the generated code...
> static RtfParser_group_return
> group(pRtfParser ctx)
> begins at line 2015.
> first error is thrown at line 2113.
> maybe my rule is wrong? but output to java works fine.
> best regards, yves
> 
> Am 24.10.2011 17:16, schrieb Jim Idle:
>> To link statically you need to reference the .a version of the library I
>> think. I don't know what your other errors are as I can’t see your source
>> code.
>>
>>
>> Jim
>>
>>> -----Original Message-----
>>> From: antlr-interest-boun...@antlr.org [mailto:antlr-interest-
>>> boun...@antlr.org] On Behalf Of Yves Weißig
>>> Sent: Monday, October 24, 2011 8:12 AM
>>> Cc: antlr-interest@antlr.org
>>> Subject: Re: [antlr-interest] Compiling C runtime & linking
>>>
>>> Hi again,
>>> this seems to be a problem with Windows (still the same error), but I
>>> tried the same under Linux and everything went fine. Compiled with
>>> ./configure, then make & make install. After that:
>>>
>>> g++ -I/usr/local/include -shared -oRtfToolkit.lib -static
>>> -L/usr/local/lib -lantlr3c RtfLexer.c RtfParser.c
>>>
>>> Without Parser it works fine, with Parser it throws several:
>>>
>>> RtfParser.c: In function ‘RtfParser_group_return
>>> group(RtfParser_Ctx_struct*)’:
>>> RtfParser.c:2113: error: no match for ‘operator=’ in ‘children =
>>> space(ctx)’
>>> RtfParser.h:198: note: candidates are:
>>> RtfParser_delimiter_return_struct&
>>> RtfParser_delimiter_return_struct::operator=(const
>>> RtfParser_delimiter_return_struct&)
>>>
>>> I don't know what that means...
>>>
>>> The grammar rule looks like:
>>>
>>> group               :       (OPEN
>>>                             children+=space*
>>>                             (
>>>                             children+=group children+=space* |
>>>                             children+=plaintext children+=space* |
>>>                             (children+=command | children+=escape)
>>>                             (children+=delimiter children+=space+ |
>>> children+=delimiter | )
>>>                             )+
>>>                     CLOSE) -> ^(GROUP $children*) ;
>>>
>>> And one final question, how can I link the ANTLR runtime statically...
>>> the above statement (without compiling the Parser) generates a small
>>> lib of 16kb, so the ANTLR runtime is not linked static, or am I missing
>>> a point here?
>>>
>>> Best regards, Yves
>>>
>>> Am 24.10.2011 12:34, schrieb Yves Weißig:
>>>> Hi list,
>>>> I successfully compiled the C runtime for ANTLR with VS 2010.
>>>> Now I want to compile the generated code (Lexer and Parser) with this
>>>> command:
>>>> g++ -Iantlrinclude -static -L. -lantlr3c RtfLexer.c RtfParser.c
>>>> as you may notice, antlr.h and all includefiles are in antlrinclude
>>>> and the antlr3c.lib (copied from the Release dir of VS solution) lies
>>>> in the current working dir. I would like to include the runtime
>>>> statically ("-static").
>>>> But it throws:
>>>> C:\Users\Yves\AppData\Local\Temp/ccctgQP2.o:RtfLexer.c:(.text+0xb9):
>>>> undefined reference to `antlr3LexerNewStream'
>>>> which makes me believe the library is not correctly linked... what is
>>>> wrong here?
>>>> Best regards, Yves
>>>>
>>>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>>>> Unsubscribe:
>>>> http://www.antlr.org/mailman/options/antlr-interest/your-email-
>>> address
>>>
>>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>>> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-
>>> email-address
>>
>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>> Unsubscribe: 
>> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>>
>>
>>
>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>> Unsubscribe: 
>> http://www.antlr.org/mailman/options/antlr-interest/your-email-address

List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to il-antlr-inter...@googlegroups.com.
To unsubscribe from this group, send email to 
il-antlr-interest+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to