Menu

#323 TADS3 update

Feature_Request
closed-fixed
Scintilla (812)
3
2005-08-02
2005-07-07
No

Attached are files to update the TADS3 lexer. There
are substantial changes and the properties file should
be made available at the same time as the updated
version of scite.

TADS has two types of string, single quoted and double
quoted. Double quoted strings may contain interpolated
expressions including single quoted and double quoted
strings. All strings may contain constructs that
change what is displayed and it's appearance. These
constructs may span several lines.

A problem arises when the lexer reparses a file
starting part way through. Previously character state
was used to determine the surrounding scope and
required 4 separate states for a single construct. Eg.
the <.p> is equivalent in all of the following lines
but had a different state in each.
"<.p>"
'<.p>'
"<< "<.p>" >>"
"<< '<.p>' >>"

This version uses lineState to record the surrounding
scope at the end of each line. The result is the
elimination of redundant states and a simplification of
the code. The number of states drops from 32 to 20.

Other changes.

Brackets are now marked as operators (previously had
own state)
There is now an identifier state.
Increased states for user defined keywords from two to
three.

Michael Cartmell

Discussion

  • Michael Cartmell

    source files for tads3 update

     
  • Neil Hodgson

    Neil Hodgson - 2005-07-07
    • priority: 5 --> 3
    • assigned_to: nobody --> nyamatongwe
     
  • Neil Hodgson

    Neil Hodgson - 2005-07-08
    • status: open --> open-fixed
     
  • Neil Hodgson

    Neil Hodgson - 2005-07-08

    Logged In: YES
    user_id=12579

    OK, committed. As this change renumbers the states, the
    properties file shouldn't be uploaded before the next
    release. Since users (and applications) may customise their
    settings based on current lexer state numbers, you should
    try to avoid renumbering lexer states unless really needed.

     
  • Neil Hodgson

    Neil Hodgson - 2005-08-02
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.