Inheritance-friendly lexer type
parent
5c94bd00b0
commit
31e6604a68
|
@ -17,9 +17,14 @@ TUPLE: lexer text line line-text line-length column ;
|
||||||
0 >>column
|
0 >>column
|
||||||
drop ;
|
drop ;
|
||||||
|
|
||||||
|
: construct-lexer ( text class -- lexer )
|
||||||
|
construct-empty
|
||||||
|
0 >>line
|
||||||
|
swap >>text
|
||||||
|
dup next-line ; inline
|
||||||
|
|
||||||
: <lexer> ( text -- lexer )
|
: <lexer> ( text -- lexer )
|
||||||
0 { set-lexer-text set-lexer-line } lexer construct
|
lexer construct-lexer ;
|
||||||
dup next-line ;
|
|
||||||
|
|
||||||
: location ( -- loc )
|
: location ( -- loc )
|
||||||
file get lexer get lexer-line 2dup and
|
file get lexer get lexer-line 2dup and
|
||||||
|
|
Loading…
Reference in New Issue