grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: parser eats '=' after variable names


From: Bean
Subject: Re: parser eats '=' after variable names
Date: Sun, 10 Feb 2008 20:16:55 +0800

On Feb 10, 2008 8:10 PM, Robert Millan <address@hidden> wrote:
>
> On Sun, Feb 10, 2008 at 05:55:25PM +0800, Bean wrote:
> > On Feb 10, 2008 5:15 AM, Robert Millan <address@hidden> wrote:
> > >
> > > It seems that the parser eats the extra '=' when used after a variable
> > > evaluation:
> > >
> > > grub> set a=a
> > > grub> echo $a
> > > a
> > > grub> echo $a=
> > >
> > > grub>
> > >
> > > This breaks e.g. variable comparison via "test $a=b".  Does someone have 
> > > an
> > > idea on how to fix it?  I assume it involves the bison stuff which is 
> > > highly
> > > confusing to me... :-/
> >
> > This problem is caused by the lexer, the token is broken when a
> > variable is found. so $a will be a token, and =b will be another one.
> > I have written a patch some time ago, it works by constructing a
> > GRUB_PARSER_TOKEN_VAR inside grub_script_yylex2, and return it to the
> > parser.
>
> Ah, I thought all your lexer changes had been committed.  Do you remember
> the mail subject?

The parser part have been committed, but the lexer part is not. the
patch is very old, i think it can't be applied directly.


-- 
Bean




reply via email to

[Prev in Thread] Current Thread [Next in Thread]