Tue, 18 Aug 2009 20:40:37 +0100, Stewart Gordon wrote:

> Sergey Gromov wrote:
>> Exactly.  There is a 32-bit "style" known for every character, plus
>> another 32-bit field associated with every line.  A lexer is free to use
>> these fields for any purpose, except the lower byte of a style defines
>> the characters' color.
> 
> Does it keep around in memory the style of every character, or only the 
> 32-bit field associated with the line so that the lexer can re-style the 
> characters on repaint/scroll?

It can tell about any character of which style it is.  This is to
repaint unchanged lines without ever calling a lexer.

> <snip>
>>> [DelimitedToken9]
>>> Start = '
>>> End = '
>>> Esc = \
>>> Type = Char
>>> SpanLines = No
>>> Nest = No
>>>
>>> There, we have all of D1 covered now, and not a regexp in sight.
>> 
>> Yes and no, because your ad-hoc format doesn't cover subtle differences
>> between C and D strings.  Like C strings don't support embedded EOLs.
> 
> I don't understand.  How does SpanLines not achieve this?
> 
> Then what _does_ SpanLines achieve according to whatever conclusion 
> you've come to?

Here's a string which is valid in D but is invalid in C:

"foo
bar"

Here's another string which is, on the contrary, valid in C but is
invalid in D:

"foo\
bar"

They both "span lines."

Reply via email to