* Added an operator `?' to test for attribute existence, e.g.,
`attrs ? x' yields true iff `attrs' has an attribute named `x'.
This commit is contained in:
		
							parent
							
								
									f958bcdf1f
								
							
						
					
					
						commit
						ac4d39f9db
					
				
					 2 changed files with 10 additions and 1 deletions
				
			
		|  | @ -44,6 +44,7 @@ void yyerror(YYLTYPE * loc, yyscan_t scanner, void * data, char * s) | |||
| %nonassoc EQ NEQ | ||||
| %right UPDATE | ||||
| %left NEG | ||||
| %nonassoc '?' | ||||
| %nonassoc '~' | ||||
| 
 | ||||
| %% | ||||
|  | @ -81,6 +82,7 @@ expr_op | |||
|   | expr_op IMPL expr_op { $$ = ATmake("OpImpl(<term>, <term>)", $1, $3); } | ||||
|   | expr_op UPDATE expr_op { $$ = ATmake("OpUpdate(<term>, <term>)", $1, $3); } | ||||
|   | expr_op '~' expr_op { $$ = ATmake("SubPath(<term>, <term>)", $1, $3); } | ||||
|   | expr_op '?' ID { $$ = ATmake("OpHasAttr(<term>, <term>)", $1, $3); } | ||||
|   | expr_app | ||||
|   ; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue