PREV INDEX NEXT

Author: Stan Eisenstat
Subject: Re: [Cs323] VARCHR
Date: Saturday, 26 Sep 2020, 17:10:43


    > Message Posted By: Unknown
    >
    > Are the characters in VARCHR defined in parsely.h the only characters that
    > may appear in variable names? ...

Yes.
=====

    >                             ...  And if so, could you explain these outputs?
    >
    > (1)$ a#b
    > CMD (Depth = 0):  SIMPLE,  argv[0] = a#b
    >
    > (2)$ a*b
    > CMD (Depth = 0):  SIMPLE,  argv[0] = a*b
    >
    > (3)$ a\\b
    > CMD (Depth = 0):  SIMPLE,  argv[0] = a\b
    >
    > (4)$ a#b\
    > CMD (Depth = 0):  SIMPLE,  argv[0] = a#b\

An argument is not a variable name.
=====

    > Do "#" only start comments when there is a space before it? ...

No.  As stated in the specification

  [Comments] If a # would begin a TEXT token, it and the remainder of the
  line (including any trailing \'s) are ignored; otherwise it is just another
  character.

A text token need not be preceded by a space.
=====

    >                                                        ...  When do we
    > treat \ as a character as opposed to the start of an escape character?

As stated in the specification,

  [Escape Characters] The escape character \ removes any special meaning that
  is associated with the non-null, non-newline character immediately following.

--Stan-
PREV INDEX NEXT