Fix infinite loop with unterminated (
parent
4ae3b85dbf
commit
0bb9e1df30
|
@ -7,9 +7,14 @@ USING: alien arrays errors generic hashtables kernel lists math
|
|||
namespaces parser sequences strings syntax vectors
|
||||
words ;
|
||||
|
||||
: ( CHAR: ) ch-search until ; parsing
|
||||
: ! until-eol ; parsing
|
||||
: #! until-eol ; parsing
|
||||
: (
|
||||
CHAR: ) column [
|
||||
line-text get index* dup -1 =
|
||||
[ "Unterminated (" throw ] when 1+
|
||||
] change ; parsing
|
||||
|
||||
: ! line-text get length column set ; parsing
|
||||
: #! POSTPONE: ! ; parsing
|
||||
: IN: scan set-in ; parsing
|
||||
: USE: scan use+ ; parsing
|
||||
: USING: string-mode on [ string-mode off add-use ] f ; parsing
|
||||
|
|
|
@ -84,12 +84,6 @@ SYMBOL: string-mode
|
|||
: (parse) ( str -- ) line-text set 0 column set parse-loop ;
|
||||
|
||||
! Parsing word utilities
|
||||
: ch-search ( ch -- index ) column get line-text get index* ;
|
||||
|
||||
: until ( index -- ) 1+ column set ;
|
||||
|
||||
: until-eol ( -- ) line-text get length until ;
|
||||
|
||||
: escape ( ch -- esc )
|
||||
H{
|
||||
{ CHAR: e CHAR: \e }
|
||||
|
|
Loading…
Reference in New Issue