Lyndon Nerenberg wrote:
> I've tried a number of syntax-colouring editors, to no avail. The quotes
> (single, double, and back) *are* balanced, according to everything I've
> thrown the script at. That's why I'm more interested in something that
> can actually parse Bourne shell syntax (quiet Terry - I *know* what
> you're going to say) and dump out what it thinks the parse tree looks
> like. The problem isn't with the quotes being unbalanced, it's something
> else that's making the shell ignore one (or more) of those quotes.

Oh, you do?

1)      CCsh, from Comeau Computing, is available for Linux,
        which means it should run under Linux emulation.  It
        would tell you where the problem is, kicking it out as
        a compiler error.

2)      Running the code under different shells that claim to
        implement the POSIX 2 syntax plus incompatabilities
        to lock you into using them^W^W^W^W^W^W^Wextensions,
        like "bash", is likely to get you different errors,
        which would enable you to find the problem (this is
        called "parallax debugging"; the technique has fallen
        into disuse because everyone assumes homogenous tools
        these days).

3)      The sources for the "bash" shell include a file called
        "parse.y", which is an almost complete POSIX.2 shell
        syntax parser; it would be very easy to modify this to
        accumulate a parse tree, and print it out, if you were
        interested in whring your own tool.

4)      The highlighting editor is a good idea.  Specifically,
        if you highlight quote material with different highlighting
        based on the quoting, and include non-activations of
        double in single or single in double, or escaping via \",
        then the problem should be obvious: it will be any place
        the highlighting spans more than 1 line.

5)      You could write a tiny yacc/lex grammar and/or a small
        "awk" sript to complain about open quote line spanning,
        probably in less than an hour.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to