Issue OBJS91 (parser changes for editor enhancements) has just been modified by user rob...@ma...
You can view the issue detail at the following URL:
<http://icandy.homeunix.org:443/scarab/issues/id/OBJS91>
The following modifications were made to this issue:
for incremental parse:
1) need to store max lookahead offset in lexer
2) need to access and restore lexer state
3) in each syntax-tree node store:
a) start offset
b) max lookahead offset at time node was constructed
c) lexer state, to restore when restarting the parse
4) for reparse, we only need to reconstruct the node if the change region of the document intersects the old node's [start_offset, max_lookahead]
5) optionally return error node(s) for parts of the document that cannot be parsed, but are within the change region... this would be used by the editor, but the scripting engine would still want to bail out early and throw an exception
|