Use 1|| instead of 0|| where appropriate in peg.ebnf to remove some stack shuffling
parent
bb5c6f78b8
commit
9696661ef5
|
@ -128,28 +128,28 @@ PEG: escaper ( string -- ast )
|
||||||
#! in the EBNF syntax itself.
|
#! in the EBNF syntax itself.
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
[ dup blank? ]
|
[ blank? ]
|
||||||
[ dup CHAR: " = ]
|
[ CHAR: " = ]
|
||||||
[ dup CHAR: ' = ]
|
[ CHAR: ' = ]
|
||||||
[ dup CHAR: | = ]
|
[ CHAR: | = ]
|
||||||
[ dup CHAR: { = ]
|
[ CHAR: { = ]
|
||||||
[ dup CHAR: } = ]
|
[ CHAR: } = ]
|
||||||
[ dup CHAR: = = ]
|
[ CHAR: = = ]
|
||||||
[ dup CHAR: ) = ]
|
[ CHAR: ) = ]
|
||||||
[ dup CHAR: ( = ]
|
[ CHAR: ( = ]
|
||||||
[ dup CHAR: ] = ]
|
[ CHAR: ] = ]
|
||||||
[ dup CHAR: [ = ]
|
[ CHAR: [ = ]
|
||||||
[ dup CHAR: . = ]
|
[ CHAR: . = ]
|
||||||
[ dup CHAR: ! = ]
|
[ CHAR: ! = ]
|
||||||
[ dup CHAR: & = ]
|
[ CHAR: & = ]
|
||||||
[ dup CHAR: * = ]
|
[ CHAR: * = ]
|
||||||
[ dup CHAR: + = ]
|
[ CHAR: + = ]
|
||||||
[ dup CHAR: ? = ]
|
[ CHAR: ? = ]
|
||||||
[ dup CHAR: : = ]
|
[ CHAR: : = ]
|
||||||
[ dup CHAR: ~ = ]
|
[ CHAR: ~ = ]
|
||||||
[ dup CHAR: < = ]
|
[ CHAR: < = ]
|
||||||
[ dup CHAR: > = ]
|
[ CHAR: > = ]
|
||||||
} 0|| not nip
|
} 1|| not
|
||||||
] satisfy repeat1 [ >string <ebnf-non-terminal> ] action ;
|
] satisfy repeat1 [ >string <ebnf-non-terminal> ] action ;
|
||||||
|
|
||||||
: 'terminal' ( -- parser )
|
: 'terminal' ( -- parser )
|
||||||
|
@ -161,9 +161,9 @@ PEG: escaper ( string -- ast )
|
||||||
#! Parse a valid foreign parser name
|
#! Parse a valid foreign parser name
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
[ dup blank? ]
|
[ blank? ]
|
||||||
[ dup CHAR: > = ]
|
[ CHAR: > = ]
|
||||||
} 0|| not nip
|
} 1|| not
|
||||||
] satisfy repeat1 [ >string ] action ;
|
] satisfy repeat1 [ >string ] action ;
|
||||||
|
|
||||||
: 'foreign' ( -- parser )
|
: 'foreign' ( -- parser )
|
||||||
|
|
Loading…
Reference in New Issue