modern: fix stack effects
parent
e1b83e4a21
commit
b5c8155383
|
@ -454,12 +454,12 @@ DEFER: lex-factor-top*
|
||||||
} case ;
|
} case ;
|
||||||
|
|
||||||
! Inside a FOO: or a <FOO FOO>
|
! Inside a FOO: or a <FOO FOO>
|
||||||
: lex-factor-nested* ( n/f string slice/f ch/f -- n'/f string literal )
|
: lex-factor-nested* ( string n/f slice/f ch/f -- string n'/f literal )
|
||||||
{
|
{
|
||||||
! Nested ``A: a B: b`` so rewind and let the parser get it top-level
|
! Nested ``A: a B: b`` so rewind and let the parser get it top-level
|
||||||
{ char: \: [
|
{ char: \: [
|
||||||
! A: B: then interrupt the current parser
|
! true? A: B: then interrupt the current parser
|
||||||
! A: b: then keep going
|
! false? A: b: then keep going
|
||||||
merge-slice-til-whitespace
|
merge-slice-til-whitespace
|
||||||
dup { [ upper-colon-form? ] [ ":" = ] } 1||
|
dup { [ upper-colon-form? ] [ ":" = ] } 1||
|
||||||
! dup upper-colon?
|
! dup upper-colon?
|
||||||
|
@ -486,10 +486,10 @@ DEFER: lex-factor-top*
|
||||||
[ lex-factor-fallthrough ]
|
[ lex-factor-fallthrough ]
|
||||||
} case ;
|
} case ;
|
||||||
|
|
||||||
: lex-factor-nested ( n/f string -- n'/f string literal )
|
: lex-factor-nested ( string n/f -- string n'/f literal )
|
||||||
"\"\\!#:[{(]})<>\s\r\n" slice-til-either lex-factor-nested* ; inline
|
"\"\\!#:[{(]})<>\s\r\n" slice-til-either lex-factor-nested* ; inline
|
||||||
|
|
||||||
: lex-factor-top* ( n/f string slice/f ch/f -- n'/f string literal )
|
: lex-factor-top* ( string n/f slice/f ch/f -- string n'/f literal )
|
||||||
{
|
{
|
||||||
{ char: \: [ merge-slice-til-whitespace read-colon ] }
|
{ char: \: [ merge-slice-til-whitespace read-colon ] }
|
||||||
{ char: < [
|
{ char: < [
|
||||||
|
|
Loading…
Reference in New Issue