[Top][All Lists]
[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 17:55:25 +0800 |
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.
--
Bean