From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Berlin To: Michael Elizabeth Chastain Cc: gdb-patches@sources.redhat.com Subject: Re: [PATCH] Handle comments in the C expression parser Date: Tue, 13 Feb 2001 22:03:00 -0000 Message-id: References: <200102140543.VAA27887@bosch.cygnus.com> X-SW-Source: 2001-02/msg00198.html Michael Elizabeth Chastain writes: > Hi Daniel, > > > It has to, it's the lexer. It's doing the tokenizing. > > Fair enough. What happens here: > > (gdb) print /* multi line > comment */ 1 + 2 > > I bet it gives "unterminated comment" (as soon as you fix the code). > This is a deviation from C, but it doesn't really bother me. It shouldn't give that error, you should get an error as soon as you hit enter after line. Remember, we don't handle real multiline expressions. Adding a line continuation character is doing just that, continuing the previous line. The expression lexer/parsers get handed (by the command that is specified) whatever part of the line the various commands don't eat themselves, AFAIK. How am I so sure? Well, we have no way, in our lexers, to get more input from the user, or a stream. It only has the lexptr. It does no non-preprocessed (IE not already gotten from the user and stored somewhere) input consuming of it's own (it can't, or else, for example readline history, among a billion other things, would fail for that input, since readline wouldn't know about it). Think of comments as ignored quoted strings with different start and end chars. I know, it sounds like i'm saying "think of a car as a bicycle with a steel frame, four wheels, an engine, etc", but they really aren't dissimilar. They are handled the same way in the lexer, except we don't care about what's inside them, so the logic is a *lot* simpler. > > > Not in particular, I added it when someone suggested that, and wanted > > to get it into the tree before it became a casualty of bitrot on one > > of my trees ... > > I know the feeling. > > If I saw something useful about /* ... */ I'd be in favor, but right > now, I'd just as soon see it scrapped. Okeydokey, fine by me. It's in the archives if it comes up later, at least. On to better things. :) > > Michael