grammar PIR::Grammar;

# This file lists all PASM instructions, the rule
# <id> uses this rule as an assertion, so that no
# identifier has the same spelling as a PASM instruction.
# Should be implemented using <%pasm_instruction> as soon
# PGE implements this.

token pasm_instruction {
[ yield             
| xor               
| warningson        
| warningsoff                  
| valid_type        
| upcase            
| unshift           
| unregister        
| unpin             
| unless_null       
| unless            
| typeof            
| trans_encoding    
| trans_charset     
| trace             
| titlecase         
| time              
| throw             
| thaw              
| tell              
| tanh              
| tan               
| tailcallmethod    
| tailcall          
| sysinfo           
| sweepon           
| sweepoff          
| sweep             
| substr            
| subclass          
| sub               
| stringinfo        
| store_lex         
| stat              
| sqrt              
| sprintf           
| split             
| spawnw            
| socket            
| sockaddr          
| sleep             
| sizeof            
| sinh              
| singleton         
| sin               
| shr               
| shl               
| shift             
| setstdout         
| setstderr         
| sets_ind          
| setref            
| setprop                    
| setp_ind          
| setn_ind          
| seti_ind          
| setattribute      
| set_root_global                 
| set_returns       
| set_hll_global    
| set_global        
| set_args          
| set_addr          
| set               
| send              
| seek              
| sech              
| sec               
| savec             
| saveall           
| save              
| runinterp                        
| rotate_up         
| rot               
| returncc          
| rethrow           
| ret               
| result_info       
| restoreall        
| restore           
| reserved          
| repeat            
| removeparent      
| removedoes        
| removeattribute   
| register          
| recv              
| readline          
| read              
| pushmark          
| pushaction        
| push_eh           
| push              
| prophash          
| profile           
| printerr          
| print             
| print             
| pow               
| popmark           
| pop               
| poll              
| pioctl            
| pin               
| peek              
| ord               
| or                
| open              
| null              
| not               
| noop              
| newclosure        
| newclass          
| new_callback      
| new               
| new               
| neg                             
| needs_destroy     
| ne_str            
| ne_num            
| ne_addr           
| ne                
| n_repeat          
| n_not                          
| n_neg             
| n_infix           
| n_concat          
| n_bnots           
| n_bnot            
| n_abs             
| mul               
| mod               
| mmdvtregister     
| mmdvtfind         
| lt_str            
| lt_num            
| lt_addr           
| lt                
| lsr               
| lookback          
| log2              
| log10             
| localtime         
| loadlib           
| load_bytecode     
| ln                
| listen            
| length            
| le_str            
| le_num            
| le_addr           
| le                              
| lcm               
| jsr               
| join              
| istrue            
| issame            
| isnull            
| isntsame          
| isne              
| islt              
| isle              
| isgt              
| isge              
| isfalse           
| iseq              
| isa               
| is_cclass         
| invokecc          
| invoke            
| interpinfo        
| infix             
| index             
| inc               
| if_null           
| if                
| hash              
| gt_str            
| gt_num            
| gt_addr           
| gt                
| gmtime            
| getstdout         
| getstdin          
| getstderr         
| getprop           
| getline           
| getinterp         
| getfile           
| getfd                         
| getclass          
| getattribute      
| get_root_namespace
| get_root_global   
| get_results       
| get_repr          
| get_params        
| get_namespace     
| get_mro           
| get_hll_namespace 
| get_hll_global    
| get_global        
| get_addr          
| ge_str            
| ge_num            
| ge_addr           
| ge                
| gcd               
| gc_debug          
| freeze            
| floor             
| find_type                        
| find_not_cclass   
| find_name
| find_method       
| find_lex          
| find_encoding     
| find_charset      
| find_cclass       
| fdopen            
| fdiv              
| fact              
| exp               
| exit              
| exists            
| exchange          
| escape            
| errorson          
| errorsoff         
| err               
| eq_str            
| eq_num            
| eq_addr           
| eq                
| entrytype         
| enternative       
| end               
| encoding          
| elements                           
| downcase          
| does              
| dlvar             
| dlfunc            
| div               
| die               
| deref             
| depth             
| delprop           
| delete            
| defined           
| decodetime        
| decodelocaltime   
| dec               
| debug_print                      
| debug_load        
| debug_init        
| debug_break       
| debug             
| cosh              
| cos               
| connect           
| concat            
| compreg                         
| compose           
| collecton         
| collectoff        
| collect           
| cmp_str           
| cmp_num           
| cmp               
| cmod              
| close             
| clone             
| clears            
| clearp            
| clearn            
| cleari            
| clear_eh          
| classoffset       
| classname         
| class             
| chr               
| chopn             
| charsetname       
| charset           
| ceil              
| can               
| callmethodcc      
| callmethod        
| bytelength        
| bxors             
| bxor              
| bsr               
| branch_cs         
| branch            
| bounds                           
| bors              
| bor               
| bnots             
| bnot              
| bind              
| bands             
| band              
| backtrace         
| atan              
| assign                         
| asin              
| asec              
| and               
| addparent         
| addmethod         
| adddoes           
| addattribute      
| add               
| acos              
| accept            
| abs               
] \b
} 
