PREV INDEX NEXT

Author: Stan Eisenstat
Subject: Re: Question about escape and line splices
Date: Wednesday, 29 Jan 2020, 06:59:01


    > Hi, my name is XXXXXX, and I am in your CS223 class.  I just wanted to
    > clarify the use of escape characters and line splices in the following
    > cases.  When multiple backslashes are inside a string, I get confused
    > what the logic is.

The easiest way to answer questions like this is to run
the staff solution, but to ask when the results are not
what you expect.
=====

    > Case 1:
    > "example\\
    > \
    > \
    > "end"

After the three line splices are removed, the input is

  "example\"end"

which is a string.  Thus Cxref outputs nothing.
=====

    > Case 2:
    > "example\\
    > \
    > \
    > \"end"

After the three line splices are removed, the input is

  "example\\"end"

which is a string followed by the identifier end and an
unmatched double quote (which means that the input is
not a legitimate C program and the only requirement is
to fail gracefully).  Nonetheless, Hwk1/Cxref outputs

  end:4

and then ignores the unterminated string.
=====

    > Case 3:
    > "example
    > \
    > \
    > \"end"

After the two line splices are removed, the input is

  "example
  \"end"

which begins with an unterminated string (since strings
may not contain newlines) and is not a legitimate C
program.  Since Hwk1/Cxref allows newlines in strings,
it treats the entire input as a string and outputs
nothing.

Best,

--Stan-
PREV INDEX NEXT