@@ -598,26 +598,26 @@ Parser.prototype = {
598598 logicalAND : function ( ) {
599599 var left = this . equality ( ) ;
600600 var token ;
601- if ( ( token = this . expect ( '&&' ) ) ) {
602- left = this . binaryFn ( left , token . text , this . logicalAND ( ) , true ) ;
601+ while ( ( token = this . expect ( '&&' ) ) ) {
602+ left = this . binaryFn ( left , token . text , this . equality ( ) , true ) ;
603603 }
604604 return left ;
605605 } ,
606606
607607 equality : function ( ) {
608608 var left = this . relational ( ) ;
609609 var token ;
610- if ( ( token = this . expect ( '==' , '!=' , '===' , '!==' ) ) ) {
611- left = this . binaryFn ( left , token . text , this . equality ( ) ) ;
610+ while ( ( token = this . expect ( '==' , '!=' , '===' , '!==' ) ) ) {
611+ left = this . binaryFn ( left , token . text , this . relational ( ) ) ;
612612 }
613613 return left ;
614614 } ,
615615
616616 relational : function ( ) {
617617 var left = this . additive ( ) ;
618618 var token ;
619- if ( ( token = this . expect ( '<' , '>' , '<=' , '>=' ) ) ) {
620- left = this . binaryFn ( left , token . text , this . relational ( ) ) ;
619+ while ( ( token = this . expect ( '<' , '>' , '<=' , '>=' ) ) ) {
620+ left = this . binaryFn ( left , token . text , this . additive ( ) ) ;
621621 }
622622 return left ;
623623 } ,
0 commit comments