wor...@ariadne.com (Dale R. Worley) wrote:
> Martin Bjorklund <m...@tail-f.com> writes:
> >> > > > > It is worth noting (either here or in 6.1.3) how line-breaks inside
> >> > > > > quoted strings are transcribed into the string's value.  As now
> >> > > > > written, it seems that the line-break is transcribed identically to
> >> > > > > how it is represented in the source.  That means (1) If the source 
> >> > > > > is
> >> > > > > recoded with the other type of line break, the semantics of the 
> >> > > > > Yang
> >> > > > > code change; and (2) if the source uses line-breaks of one type 
> >> > > > > (CRLF
> >> > > > > or LF), only that type can be directly transcribed into string 
> >> > > > > values.
> >> > > > > (But regardless of the source line-breaks, an LF can be transcribed
> >> > > > > into a double-quoted string with "\n".  But a CRLF cannot be
> >> > > > > transcribed into a double-quoted string with escape sequences.  Was
> >> > > > > that intended, or was "\r" intended to be legal?)
> >> > > 
> >> > > Don't forget this.
> >> 
> >> I was wondering that (as the text is written) the value of a quoted
> >> string that includes a line end will change if the line ends are
> >> changed (say, by moving the Yang file to a different host).  Normally
> >> computer languages are defined so that changing how the program is
> >> "represented", e.g., by transforming it into a form with different
> >> line-ends, won't change the semantics of the program.
> >> 
> >> But if it's true, I seems desirable to provide an explicit warning
> >> about it.
> 
> It still seems to me to be valuable to warn about this.

Do you have an suggestion for what to write?  These kinds of
multi-line strings are almost always 'description' statements,
used for human consumption.  It is not clear to me what the warning
would be.

> >> > You can always get the same effect by using single quoted strings.
> >> 
> >> I don't see how you can get a single CR using single-quoted strings,
> >> because line ends are only allowed to be LF and CR-LF; writing a CR
> >> without an LF following it isn't allowed.  Or is it that in practice,
> >> Yang 1 allows people to use CR alone, and it is not interpreted as a
> >> line-end?
> >
> > If the module has a string like this:
> >
> >    0x27 0x0d 0x27
> >
> > it is a string with a single CR.
> 
> I see in the grammar:
> 
>    line-break          = CRLF / LF
> 
> So you can't write an isolated CR in most of a Yang module.  But am I
> correct in understanding that you *can* write an isolated CR inside a
> single-quoted string (and presumably, a double-quoted string)?

Yes.


/martin

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to