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
| 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
| 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_concat
| mul
| mod
| add_multi
| find_multi
| 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
| index
| inc
| if_null
| if
| hash
| gt_str
| gt_num
| gt_addr
| gt
| gmtime
| getstdout
| getstdin
| getstderr
| getprop
| getline
| getinterp
| getfile
| get_class
| getattribute
| get_root_namespace
| get_root_global
| get_results
| get_repr
| get_params
| get_namespace
| 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
| pop_eh
| 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
| addattribute
| add
| acos
| accept
| abs
] \b
}
