From: Vladimir Serbinenko <phcoder@gmail.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: [Patch] Scripting engine
Date: Sun, 04 Sep 2005 15:23:01 +0200 [thread overview]
Message-ID: <431AF535.5040405@gmail.com> (raw)
In-Reply-To: <871x49ud1d.fsf@student.han.nl>
Marco Gerards wrote:
>
>Can't this be done in the same bison parser? Or what do you mean?
>
>
I don't think so. Even the tokenization is very differetn. Ex:
2+3*5 is one token for normal parsing, but five for arithmethic
and yylex knows nothing about what parsing is now. If it would always
issue 5 tokens it would be impossible to difference
2+3*5 and 2 + 3 * 5 And yylex normally must not issue the space -
it would make bison parser too complicated
>I noticed that you have hand written yylex, wouldn't it be a lot
>easier to use flex for this? In that case you can easily detect
>tokens using regular expressions. This makes maintaining the
>tokenizer really easy.
>
>
For bash regular expression is not really needed. There are only 3 types
of tokens:
reserved words (if, ...), normal words (WORD) and command separators (;
and ENTER).
All token except WORD could be easily recognized by simple comparing
(check_for_keyword function). But WORD needs special treatment because
its value
is partially unknown that's why I use superchar structure (it keeps
known parts as well as
necessary information to determine the value of unknown parts)
Vladimir
prev parent reply other threads:[~2005-09-04 13:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-14 9:18 [DISCUSSION] Scripts and menus Vladimir Serbinenko
2005-08-14 13:29 ` Douglas Wade Needham
2005-08-14 13:53 ` Vladimir Serbinenko
2005-08-14 15:12 ` Yoshinori K. Okuji
2005-08-14 22:54 ` Douglas Wade Needham
2005-08-14 23:09 ` Yoshinori K. Okuji
2005-08-15 7:27 ` [DISCUSSION] Grub2 Improvements marm.mm
2005-08-15 8:37 ` Yoshinori K. Okuji
2005-08-14 14:35 ` [DISCUSSION] Scripts and menus Yoshinori K. Okuji
2005-08-14 16:03 ` Vladimir Serbinenko
2005-08-14 18:01 ` Yoshinori K. Okuji
2005-08-14 18:30 ` Vladimir Serbinenko
2005-08-15 17:37 ` Marco Gerards
2005-08-24 9:36 ` [Patch] Scripting engine Vladimir Serbinenko
2005-08-28 12:55 ` Yoshinori K. Okuji
2005-08-28 14:11 ` Vladimir Serbinenko
2005-09-25 11:40 ` Vladimir Serbinenko
2005-08-31 19:22 ` Marco Gerards
2005-09-04 13:23 ` Vladimir Serbinenko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=431AF535.5040405@gmail.com \
--to=phcoder@gmail.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.