Date: Thu, 19 Oct 2023 08:27:03 +0000
> From: Tom Honermann <tom_at_[hidden]>
> > But do we expect any of these to compile, and if so which ones?:
> > 1) X"a={a}" X"b={b}"
> > 2) X"a={a}" "b={b}"
> > 3) "a={a}" X"b={b}"
> > 4) F"a={a}" F"b={b}"
> > 5) F"a={a}" "b={b}"
> > 6) "a={a}" F"b={b}"
> > 7) F"a={a}" X"b={b}"
> > 8) X"a={a}" F"b={b}"
> Deviations from the pattern shown in the table in are likely to be considered surprising so should come with strong motivation.
> That table suggests that 1-6 be well-formed, that each member of the sets of 1-3 and 4-6 have the same meaning, and that 7-8 are ill-formed.
OK, well I think 1, 2, 4, and 5 are no problem to handle.
But 3 and 6 are... annoying. Since the preprocessor is only doing one pass, and there could be N number of regular string-literals before an F"" or X"" or neither, it might be untenable to have to peek ahead every time just to handle the ultra-rare case that it ends up being an f/x-string.
But I'll put something in the next rev to try to justify why supporting 3 and 6 isn't absolutely necessary.
-hadriel
Juniper Public
> > But do we expect any of these to compile, and if so which ones?:
> > 1) X"a={a}" X"b={b}"
> > 2) X"a={a}" "b={b}"
> > 3) "a={a}" X"b={b}"
> > 4) F"a={a}" F"b={b}"
> > 5) F"a={a}" "b={b}"
> > 6) "a={a}" F"b={b}"
> > 7) F"a={a}" X"b={b}"
> > 8) X"a={a}" F"b={b}"
> Deviations from the pattern shown in the table in are likely to be considered surprising so should come with strong motivation.
> That table suggests that 1-6 be well-formed, that each member of the sets of 1-3 and 4-6 have the same meaning, and that 7-8 are ill-formed.
OK, well I think 1, 2, 4, and 5 are no problem to handle.
But 3 and 6 are... annoying. Since the preprocessor is only doing one pass, and there could be N number of regular string-literals before an F"" or X"" or neither, it might be untenable to have to peek ahead every time just to handle the ultra-rare case that it ends up being an f/x-string.
But I'll put something in the next rev to try to justify why supporting 3 and 6 isn't absolutely necessary.
-hadriel
Juniper Public
Received on 2023-10-19 08:27:08