[Ovmsdev] yacc/lex on component/dbc

Craig Leres leres at xse.com
Fri Nov 23 13:58:55 HKT 2018


On 11/22/2018 8:38 PM, Mark Webb-Johnson wrote:
> 
> I am trying to move the hand-crafted dbc parser (which is pretty crappy)
> to a full featured parser based on yacc/lex. But I’m concerned this will
> be complex to build (requiring yacc and lex on the build systems). Given
> that esp idf already uses this (for Kconfig), it should be ok.
> 
> I have committed a stub for this (into components/dbc). It compiles for
> me with two warnings:
> 
>     /components/dbc/yacclex/dbc_tokeniser.c:1630:17: warning: 'yyunput'
>     defined but not used [-Wunused-function]
>          static void yyunput (int c, register char * yy_bp )
>                      ^
>     components/dbc/yacclex/dbc_tokeniser.c:1675:16: warning: 'input'
>     defined but not used [-Wunused-function]
>          static int input  (void)
>                     ^
> 
> 
> Those warnings are acceptable, and will be resolved when the full
> implementation comes.

If your lex is flex (pretty safe assumption) you can quiet the warnings
by adding:

    #define YY_NO_INPUT
    #define YY_NO_UNPUT

after your includes (or as -D arguments).

I used to work with (and still) see the original authors from time to time.

		Craig



More information about the OvmsDev mailing list