aarch64 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/aarch64/instructions/adc.rb +1 -1
  4. data/lib/aarch64/instructions/adcs.rb +1 -1
  5. data/lib/aarch64/instructions/add_addsub_ext.rb +1 -1
  6. data/lib/aarch64/instructions/add_addsub_imm.rb +1 -1
  7. data/lib/aarch64/instructions/add_addsub_shift.rb +1 -1
  8. data/lib/aarch64/instructions/addg.rb +1 -1
  9. data/lib/aarch64/instructions/adds_addsub_ext.rb +1 -1
  10. data/lib/aarch64/instructions/adds_addsub_imm.rb +1 -1
  11. data/lib/aarch64/instructions/adds_addsub_shift.rb +1 -1
  12. data/lib/aarch64/instructions/adr.rb +7 -3
  13. data/lib/aarch64/instructions/adrp.rb +1 -1
  14. data/lib/aarch64/instructions/and_log_imm.rb +1 -1
  15. data/lib/aarch64/instructions/and_log_shift.rb +1 -1
  16. data/lib/aarch64/instructions/ands_log_imm.rb +1 -1
  17. data/lib/aarch64/instructions/ands_log_shift.rb +1 -1
  18. data/lib/aarch64/instructions/asrv.rb +1 -1
  19. data/lib/aarch64/instructions/autda.rb +1 -1
  20. data/lib/aarch64/instructions/autdb.rb +1 -1
  21. data/lib/aarch64/instructions/autia.rb +1 -1
  22. data/lib/aarch64/instructions/autib.rb +1 -1
  23. data/lib/aarch64/instructions/axflag.rb +1 -1
  24. data/lib/aarch64/instructions/b_cond.rb +2 -2
  25. data/lib/aarch64/instructions/b_uncond.rb +2 -2
  26. data/lib/aarch64/instructions/bc_cond.rb +2 -2
  27. data/lib/aarch64/instructions/bfm.rb +1 -1
  28. data/lib/aarch64/instructions/bic_log_shift.rb +1 -1
  29. data/lib/aarch64/instructions/bics.rb +1 -1
  30. data/lib/aarch64/instructions/bl.rb +2 -2
  31. data/lib/aarch64/instructions/blr.rb +1 -1
  32. data/lib/aarch64/instructions/blra.rb +1 -1
  33. data/lib/aarch64/instructions/br.rb +1 -1
  34. data/lib/aarch64/instructions/bra.rb +1 -1
  35. data/lib/aarch64/instructions/brk.rb +1 -1
  36. data/lib/aarch64/instructions/bti.rb +1 -1
  37. data/lib/aarch64/instructions/cas.rb +1 -1
  38. data/lib/aarch64/instructions/casb.rb +1 -1
  39. data/lib/aarch64/instructions/cash.rb +1 -1
  40. data/lib/aarch64/instructions/casp.rb +1 -1
  41. data/lib/aarch64/instructions/cbnz.rb +2 -2
  42. data/lib/aarch64/instructions/cbz.rb +2 -2
  43. data/lib/aarch64/instructions/ccmn_imm.rb +1 -1
  44. data/lib/aarch64/instructions/ccmn_reg.rb +1 -1
  45. data/lib/aarch64/instructions/ccmp_imm.rb +1 -1
  46. data/lib/aarch64/instructions/ccmp_reg.rb +1 -1
  47. data/lib/aarch64/instructions/cfinv.rb +1 -1
  48. data/lib/aarch64/instructions/clrex.rb +1 -1
  49. data/lib/aarch64/instructions/cls_int.rb +1 -1
  50. data/lib/aarch64/instructions/clz_int.rb +1 -1
  51. data/lib/aarch64/instructions/crc32.rb +1 -1
  52. data/lib/aarch64/instructions/crc32c.rb +1 -1
  53. data/lib/aarch64/instructions/csdb.rb +1 -1
  54. data/lib/aarch64/instructions/csel.rb +1 -1
  55. data/lib/aarch64/instructions/csinc.rb +1 -1
  56. data/lib/aarch64/instructions/csinv.rb +1 -1
  57. data/lib/aarch64/instructions/csneg.rb +1 -1
  58. data/lib/aarch64/instructions/dcps.rb +1 -1
  59. data/lib/aarch64/instructions/dgh.rb +1 -1
  60. data/lib/aarch64/instructions/dmb.rb +1 -1
  61. data/lib/aarch64/instructions/drps.rb +1 -1
  62. data/lib/aarch64/instructions/dsb.rb +1 -1
  63. data/lib/aarch64/instructions/eon.rb +1 -1
  64. data/lib/aarch64/instructions/eor_log_imm.rb +1 -1
  65. data/lib/aarch64/instructions/eor_log_shift.rb +1 -1
  66. data/lib/aarch64/instructions/eret.rb +1 -1
  67. data/lib/aarch64/instructions/ereta.rb +1 -1
  68. data/lib/aarch64/instructions/esb.rb +1 -1
  69. data/lib/aarch64/instructions/extr.rb +1 -1
  70. data/lib/aarch64/instructions/gmi.rb +1 -1
  71. data/lib/aarch64/instructions/hint.rb +1 -1
  72. data/lib/aarch64/instructions/hlt.rb +1 -1
  73. data/lib/aarch64/instructions/hvc.rb +1 -1
  74. data/lib/aarch64/instructions/irg.rb +1 -1
  75. data/lib/aarch64/instructions/isb.rb +1 -1
  76. data/lib/aarch64/instructions/ld64b.rb +1 -1
  77. data/lib/aarch64/instructions/ldadd.rb +1 -1
  78. data/lib/aarch64/instructions/ldaddb.rb +1 -1
  79. data/lib/aarch64/instructions/ldaddh.rb +1 -1
  80. data/lib/aarch64/instructions/ldapr.rb +1 -1
  81. data/lib/aarch64/instructions/ldaprb.rb +1 -1
  82. data/lib/aarch64/instructions/ldaprh.rb +1 -1
  83. data/lib/aarch64/instructions/ldapur_gen.rb +1 -1
  84. data/lib/aarch64/instructions/ldar.rb +1 -1
  85. data/lib/aarch64/instructions/ldaxp.rb +1 -1
  86. data/lib/aarch64/instructions/ldaxr.rb +1 -1
  87. data/lib/aarch64/instructions/ldclr.rb +1 -1
  88. data/lib/aarch64/instructions/ldclrb.rb +1 -1
  89. data/lib/aarch64/instructions/ldeor.rb +1 -1
  90. data/lib/aarch64/instructions/ldg.rb +1 -1
  91. data/lib/aarch64/instructions/ldgm.rb +1 -1
  92. data/lib/aarch64/instructions/ldlar.rb +1 -1
  93. data/lib/aarch64/instructions/ldnp_gen.rb +1 -1
  94. data/lib/aarch64/instructions/ldp_gen.rb +1 -1
  95. data/lib/aarch64/instructions/ldpsw.rb +1 -1
  96. data/lib/aarch64/instructions/ldr_imm_gen.rb +1 -1
  97. data/lib/aarch64/instructions/ldr_imm_unsigned.rb +1 -1
  98. data/lib/aarch64/instructions/ldr_lit_gen.rb +2 -2
  99. data/lib/aarch64/instructions/ldr_reg_gen.rb +1 -1
  100. data/lib/aarch64/instructions/ldra.rb +1 -1
  101. data/lib/aarch64/instructions/ldrb_imm.rb +1 -1
  102. data/lib/aarch64/instructions/ldrb_reg.rb +1 -1
  103. data/lib/aarch64/instructions/ldrb_unsigned.rb +1 -1
  104. data/lib/aarch64/instructions/ldrh_imm.rb +1 -1
  105. data/lib/aarch64/instructions/ldrh_reg.rb +1 -1
  106. data/lib/aarch64/instructions/ldrh_unsigned.rb +1 -1
  107. data/lib/aarch64/instructions/ldrsb_imm.rb +1 -1
  108. data/lib/aarch64/instructions/ldrsb_reg.rb +1 -1
  109. data/lib/aarch64/instructions/ldrsb_unsigned.rb +1 -1
  110. data/lib/aarch64/instructions/ldrsh_imm.rb +1 -1
  111. data/lib/aarch64/instructions/ldrsh_reg.rb +1 -1
  112. data/lib/aarch64/instructions/ldrsh_unsigned.rb +1 -1
  113. data/lib/aarch64/instructions/ldrsw_imm.rb +1 -1
  114. data/lib/aarch64/instructions/ldrsw_lit.rb +2 -2
  115. data/lib/aarch64/instructions/ldrsw_reg.rb +1 -1
  116. data/lib/aarch64/instructions/ldrsw_unsigned.rb +1 -1
  117. data/lib/aarch64/instructions/ldset.rb +1 -1
  118. data/lib/aarch64/instructions/ldsetb.rb +1 -1
  119. data/lib/aarch64/instructions/ldseth.rb +1 -1
  120. data/lib/aarch64/instructions/ldsmax.rb +1 -1
  121. data/lib/aarch64/instructions/ldsmaxb.rb +1 -1
  122. data/lib/aarch64/instructions/ldsmaxh.rb +1 -1
  123. data/lib/aarch64/instructions/ldsmin.rb +1 -1
  124. data/lib/aarch64/instructions/ldsminb.rb +1 -1
  125. data/lib/aarch64/instructions/ldsminh.rb +1 -1
  126. data/lib/aarch64/instructions/ldtr.rb +1 -1
  127. data/lib/aarch64/instructions/ldtrb.rb +1 -1
  128. data/lib/aarch64/instructions/ldtrh.rb +1 -1
  129. data/lib/aarch64/instructions/ldtrsb.rb +1 -1
  130. data/lib/aarch64/instructions/ldtrsh.rb +1 -1
  131. data/lib/aarch64/instructions/ldtrsw.rb +1 -1
  132. data/lib/aarch64/instructions/ldumax.rb +1 -1
  133. data/lib/aarch64/instructions/ldumaxb.rb +1 -1
  134. data/lib/aarch64/instructions/ldumaxh.rb +1 -1
  135. data/lib/aarch64/instructions/ldumin.rb +1 -1
  136. data/lib/aarch64/instructions/lduminb.rb +1 -1
  137. data/lib/aarch64/instructions/lduminh.rb +1 -1
  138. data/lib/aarch64/instructions/ldur_gen.rb +1 -1
  139. data/lib/aarch64/instructions/ldursb.rb +1 -1
  140. data/lib/aarch64/instructions/ldursh.rb +1 -1
  141. data/lib/aarch64/instructions/ldursw.rb +1 -1
  142. data/lib/aarch64/instructions/ldxp.rb +1 -1
  143. data/lib/aarch64/instructions/ldxr.rb +1 -1
  144. data/lib/aarch64/instructions/lslv.rb +1 -1
  145. data/lib/aarch64/instructions/lsrv.rb +1 -1
  146. data/lib/aarch64/instructions/madd.rb +1 -1
  147. data/lib/aarch64/instructions/movk.rb +1 -1
  148. data/lib/aarch64/instructions/movn.rb +1 -1
  149. data/lib/aarch64/instructions/movz.rb +1 -1
  150. data/lib/aarch64/instructions/mrs.rb +1 -1
  151. data/lib/aarch64/instructions/msr_imm.rb +1 -1
  152. data/lib/aarch64/instructions/msr_reg.rb +1 -1
  153. data/lib/aarch64/instructions/msub.rb +1 -1
  154. data/lib/aarch64/instructions/nop.rb +1 -1
  155. data/lib/aarch64/instructions/orn_log_shift.rb +1 -1
  156. data/lib/aarch64/instructions/orr_log_imm.rb +1 -1
  157. data/lib/aarch64/instructions/orr_log_shift.rb +1 -1
  158. data/lib/aarch64/instructions/pacda.rb +1 -1
  159. data/lib/aarch64/instructions/pacdb.rb +1 -1
  160. data/lib/aarch64/instructions/pacga.rb +1 -1
  161. data/lib/aarch64/instructions/pacia.rb +1 -1
  162. data/lib/aarch64/instructions/pacia2.rb +1 -1
  163. data/lib/aarch64/instructions/pacib.rb +1 -1
  164. data/lib/aarch64/instructions/prfm_imm.rb +1 -1
  165. data/lib/aarch64/instructions/prfm_lit.rb +2 -2
  166. data/lib/aarch64/instructions/prfm_reg.rb +1 -1
  167. data/lib/aarch64/instructions/prfum.rb +1 -1
  168. data/lib/aarch64/instructions/psb.rb +1 -1
  169. data/lib/aarch64/instructions/rbit_int.rb +1 -1
  170. data/lib/aarch64/instructions/ret.rb +1 -1
  171. data/lib/aarch64/instructions/reta.rb +1 -1
  172. data/lib/aarch64/instructions/rev.rb +1 -1
  173. data/lib/aarch64/instructions/rmif.rb +1 -1
  174. data/lib/aarch64/instructions/rorv.rb +1 -1
  175. data/lib/aarch64/instructions/sb.rb +1 -1
  176. data/lib/aarch64/instructions/sbc.rb +1 -1
  177. data/lib/aarch64/instructions/sbcs.rb +1 -1
  178. data/lib/aarch64/instructions/sbfm.rb +1 -1
  179. data/lib/aarch64/instructions/sdiv.rb +1 -1
  180. data/lib/aarch64/instructions/setf.rb +1 -1
  181. data/lib/aarch64/instructions/sev.rb +1 -1
  182. data/lib/aarch64/instructions/sevl.rb +1 -1
  183. data/lib/aarch64/instructions/smaddl.rb +1 -1
  184. data/lib/aarch64/instructions/smc.rb +1 -1
  185. data/lib/aarch64/instructions/smsubl.rb +1 -1
  186. data/lib/aarch64/instructions/smulh.rb +1 -1
  187. data/lib/aarch64/instructions/st2g.rb +1 -1
  188. data/lib/aarch64/instructions/st64b.rb +1 -1
  189. data/lib/aarch64/instructions/st64bv.rb +1 -1
  190. data/lib/aarch64/instructions/st64bv0.rb +1 -1
  191. data/lib/aarch64/instructions/stg.rb +1 -1
  192. data/lib/aarch64/instructions/stgm.rb +1 -1
  193. data/lib/aarch64/instructions/stgp.rb +1 -1
  194. data/lib/aarch64/instructions/stllr.rb +1 -1
  195. data/lib/aarch64/instructions/stllrb.rb +1 -1
  196. data/lib/aarch64/instructions/stllrh.rb +1 -1
  197. data/lib/aarch64/instructions/stlr.rb +1 -1
  198. data/lib/aarch64/instructions/stlrb.rb +1 -1
  199. data/lib/aarch64/instructions/stlrh.rb +1 -1
  200. data/lib/aarch64/instructions/stlur_gen.rb +1 -1
  201. data/lib/aarch64/instructions/stlxp.rb +1 -1
  202. data/lib/aarch64/instructions/stlxr.rb +1 -1
  203. data/lib/aarch64/instructions/stlxrb.rb +1 -1
  204. data/lib/aarch64/instructions/stlxrh.rb +1 -1
  205. data/lib/aarch64/instructions/stnp_gen.rb +1 -1
  206. data/lib/aarch64/instructions/stp_gen.rb +1 -1
  207. data/lib/aarch64/instructions/str_imm_gen.rb +1 -1
  208. data/lib/aarch64/instructions/str_imm_unsigned.rb +1 -1
  209. data/lib/aarch64/instructions/str_reg_gen.rb +1 -1
  210. data/lib/aarch64/instructions/strb_imm.rb +1 -1
  211. data/lib/aarch64/instructions/strb_imm_unsigned.rb +1 -1
  212. data/lib/aarch64/instructions/strb_reg.rb +1 -1
  213. data/lib/aarch64/instructions/strh_imm.rb +1 -1
  214. data/lib/aarch64/instructions/strh_imm_unsigned.rb +1 -1
  215. data/lib/aarch64/instructions/strh_reg.rb +1 -1
  216. data/lib/aarch64/instructions/sttr.rb +1 -1
  217. data/lib/aarch64/instructions/stur_gen.rb +1 -1
  218. data/lib/aarch64/instructions/stxp.rb +1 -1
  219. data/lib/aarch64/instructions/stxr.rb +1 -1
  220. data/lib/aarch64/instructions/stxrb.rb +1 -1
  221. data/lib/aarch64/instructions/stxrh.rb +1 -1
  222. data/lib/aarch64/instructions/stz2g.rb +1 -1
  223. data/lib/aarch64/instructions/stzg.rb +1 -1
  224. data/lib/aarch64/instructions/stzgm.rb +1 -1
  225. data/lib/aarch64/instructions/sub_addsub_ext.rb +1 -1
  226. data/lib/aarch64/instructions/sub_addsub_imm.rb +1 -1
  227. data/lib/aarch64/instructions/sub_addsub_shift.rb +1 -1
  228. data/lib/aarch64/instructions/subg.rb +1 -1
  229. data/lib/aarch64/instructions/subp.rb +1 -1
  230. data/lib/aarch64/instructions/subps.rb +1 -1
  231. data/lib/aarch64/instructions/subs_addsub_ext.rb +1 -1
  232. data/lib/aarch64/instructions/subs_addsub_imm.rb +1 -1
  233. data/lib/aarch64/instructions/subs_addsub_shift.rb +1 -1
  234. data/lib/aarch64/instructions/svc.rb +1 -1
  235. data/lib/aarch64/instructions/swp.rb +1 -1
  236. data/lib/aarch64/instructions/swpb.rb +1 -1
  237. data/lib/aarch64/instructions/swph.rb +1 -1
  238. data/lib/aarch64/instructions/sys.rb +1 -1
  239. data/lib/aarch64/instructions/sysl.rb +1 -1
  240. data/lib/aarch64/instructions/tbnz.rb +2 -2
  241. data/lib/aarch64/instructions/tbz.rb +2 -2
  242. data/lib/aarch64/instructions/tsb.rb +1 -1
  243. data/lib/aarch64/instructions/ubfm.rb +1 -1
  244. data/lib/aarch64/instructions/udf_perm_undef.rb +1 -1
  245. data/lib/aarch64/instructions/udiv.rb +1 -1
  246. data/lib/aarch64/instructions/umaddl.rb +1 -1
  247. data/lib/aarch64/instructions/umsubl.rb +1 -1
  248. data/lib/aarch64/instructions/umulh.rb +1 -1
  249. data/lib/aarch64/instructions/wfe.rb +1 -1
  250. data/lib/aarch64/instructions/wfet.rb +1 -1
  251. data/lib/aarch64/instructions/wfi.rb +1 -1
  252. data/lib/aarch64/instructions/wfit.rb +1 -1
  253. data/lib/aarch64/instructions/xaflag.rb +1 -1
  254. data/lib/aarch64/instructions/xpac.rb +1 -1
  255. data/lib/aarch64/instructions/xpaclri.rb +1 -1
  256. data/lib/aarch64/instructions/yield.rb +1 -1
  257. data/lib/aarch64/instructions.rb +6 -2
  258. data/lib/aarch64/parser.rb +1 -1
  259. data/lib/aarch64/parser.tab.rb +223 -215
  260. data/lib/aarch64/parser.y +41 -31
  261. data/lib/aarch64/utils.rb +12 -1
  262. data/lib/aarch64/version.rb +1 -1
  263. data/lib/aarch64.rb +22 -11
  264. data/test/base_instructions_test.rb +58 -0
  265. data/test/helper.rb +2 -0
  266. metadata +3 -3
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.6.0
3
+ # This file is automatically generated by Racc 1.6.2
4
4
  # from Racc grammar file "".
5
5
  #
6
6
 
@@ -30,7 +30,7 @@ module Racc
30
30
  class ParseError < StandardError; end
31
31
  end
32
32
  unless defined?(::ParseError)
33
- ParseError = Racc::ParseError
33
+ ParseError = Racc::ParseError # :nodoc:
34
34
  end
35
35
 
36
36
  # Racc is a LALR(1) parser generator.
@@ -4702,14 +4702,14 @@ module_eval(<<'.,.,', 'parser.y', 515)
4702
4702
 
4703
4703
  module_eval(<<'.,.,', 'parser.y', 534)
4704
4704
  def _reduce_284(val, _values, result)
4705
- result = TwoArg.new(val[0], val[2])
4705
+ result = TwoArg.new(val[0], [val[2]])
4706
4706
  result
4707
4707
  end
4708
4708
  .,.,
4709
4709
 
4710
4710
  module_eval(<<'.,.,', 'parser.y', 538)
4711
4711
  def _reduce_285(val, _values, result)
4712
- result = TwoArg.new(val[0], val[2])
4712
+ result = TwoArg.new(val[0], [val[2]])
4713
4713
  result
4714
4714
  end
4715
4715
  .,.,
@@ -4779,28 +4779,32 @@ module_eval(<<'.,.,', 'parser.y', 577)
4779
4779
  end
4780
4780
  .,.,
4781
4781
 
4782
- module_eval(<<'.,.,', 'parser.y', 581)
4782
+ module_eval(<<'.,.,', 'parser.y', 582)
4783
4783
  def _reduce_301(val, _values, result)
4784
- result = ThreeArg.new(*val[0])
4784
+ reg, reg1, l = *val[0]
4785
+ result = ThreeArg.new(reg, reg1, [l])
4786
+
4785
4787
  result
4786
4788
  end
4787
4789
  .,.,
4788
4790
 
4789
- module_eval(<<'.,.,', 'parser.y', 582)
4791
+ module_eval(<<'.,.,', 'parser.y', 586)
4790
4792
  def _reduce_302(val, _values, result)
4791
- result = ThreeArg.new(*val[0])
4793
+ reg, reg1, l = *val[0]
4794
+ result = ThreeArg.new(reg, reg1, [l])
4795
+
4792
4796
  result
4793
4797
  end
4794
4798
  .,.,
4795
4799
 
4796
- module_eval(<<'.,.,', 'parser.y', 586)
4800
+ module_eval(<<'.,.,', 'parser.y', 592)
4797
4801
  def _reduce_303(val, _values, result)
4798
4802
  val[1].apply(@asm, val[0].to_sym)
4799
4803
  result
4800
4804
  end
4801
4805
  .,.,
4802
4806
 
4803
- module_eval(<<'.,.,', 'parser.y', 591)
4807
+ module_eval(<<'.,.,', 'parser.y', 597)
4804
4808
  def _reduce_304(val, _values, result)
4805
4809
  reg1, reg2, reg3 = *val[0]
4806
4810
  result = ThreeArg.new(reg1, reg2, [reg3, val[2]])
@@ -4809,7 +4813,7 @@ module_eval(<<'.,.,', 'parser.y', 591)
4809
4813
  end
4810
4814
  .,.,
4811
4815
 
4812
- module_eval(<<'.,.,', 'parser.y', 595)
4816
+ module_eval(<<'.,.,', 'parser.y', 601)
4813
4817
  def _reduce_305(val, _values, result)
4814
4818
  reg1, reg2, reg3 = *val[0]
4815
4819
  result = ThreeArg.new(reg1, reg2, [reg3, val[2]])
@@ -4818,74 +4822,74 @@ module_eval(<<'.,.,', 'parser.y', 595)
4818
4822
  end
4819
4823
  .,.,
4820
4824
 
4821
- module_eval(<<'.,.,', 'parser.y', 598)
4825
+ module_eval(<<'.,.,', 'parser.y', 604)
4822
4826
  def _reduce_306(val, _values, result)
4823
4827
  result = ThreeArg.new(*val[0].first(2), [val[0].last])
4824
4828
  result
4825
4829
  end
4826
4830
  .,.,
4827
4831
 
4828
- module_eval(<<'.,.,', 'parser.y', 599)
4832
+ module_eval(<<'.,.,', 'parser.y', 605)
4829
4833
  def _reduce_307(val, _values, result)
4830
4834
  result = ThreeArg.new(*val[0].first(2), [val[0].last])
4831
4835
  result
4832
4836
  end
4833
4837
  .,.,
4834
4838
 
4835
- module_eval(<<'.,.,', 'parser.y', 603)
4839
+ module_eval(<<'.,.,', 'parser.y', 609)
4836
4840
  def _reduce_308(val, _values, result)
4837
4841
  val[1].apply(@asm, val[0].to_sym)
4838
4842
  result
4839
4843
  end
4840
4844
  .,.,
4841
4845
 
4842
- module_eval(<<'.,.,', 'parser.y', 607)
4846
+ module_eval(<<'.,.,', 'parser.y', 613)
4843
4847
  def _reduce_309(val, _values, result)
4844
4848
  val[1].apply(@asm, val[0].to_sym)
4845
4849
  result
4846
4850
  end
4847
4851
  .,.,
4848
4852
 
4849
- module_eval(<<'.,.,', 'parser.y', 611)
4853
+ module_eval(<<'.,.,', 'parser.y', 617)
4850
4854
  def _reduce_310(val, _values, result)
4851
4855
  val[1].apply(@asm, val[0].to_sym)
4852
4856
  result
4853
4857
  end
4854
4858
  .,.,
4855
4859
 
4856
- module_eval(<<'.,.,', 'parser.y', 615)
4860
+ module_eval(<<'.,.,', 'parser.y', 621)
4857
4861
  def _reduce_311(val, _values, result)
4858
4862
  result = ThreeArg.new(*val[0])
4859
4863
  result
4860
4864
  end
4861
4865
  .,.,
4862
4866
 
4863
- module_eval(<<'.,.,', 'parser.y', 616)
4867
+ module_eval(<<'.,.,', 'parser.y', 622)
4864
4868
  def _reduce_312(val, _values, result)
4865
4869
  result = FourArg.new(*val[0], :!)
4866
4870
  result
4867
4871
  end
4868
4872
  .,.,
4869
4873
 
4870
- module_eval(<<'.,.,', 'parser.y', 618)
4874
+ module_eval(<<'.,.,', 'parser.y', 624)
4871
4875
  def _reduce_313(val, _values, result)
4872
4876
  rt1, rt2, rn = *val[0].to_a
4873
- result = FourArg.new(rt1, rt2, [rn], val[2])
4877
+ result = FourArg.new(rt1, rt2, rn, val[2])
4874
4878
 
4875
4879
  result
4876
4880
  end
4877
4881
  .,.,
4878
4882
 
4879
- module_eval(<<'.,.,', 'parser.y', 622)
4883
+ module_eval(<<'.,.,', 'parser.y', 628)
4880
4884
  def _reduce_314(val, _values, result)
4881
4885
  rt1, rt2, rn = *val[0].to_a
4882
- result = ThreeArg.new(rt1, rt2, [rn])
4886
+ result = ThreeArg.new(rt1, rt2, rn)
4883
4887
 
4884
4888
  result
4885
4889
  end
4886
4890
  .,.,
4887
4891
 
4888
- module_eval(<<'.,.,', 'parser.y', 629)
4892
+ module_eval(<<'.,.,', 'parser.y', 635)
4889
4893
  def _reduce_315(val, _values, result)
4890
4894
  result = [val[0], val[2], val[4]]
4891
4895
 
@@ -4893,7 +4897,7 @@ module_eval(<<'.,.,', 'parser.y', 629)
4893
4897
  end
4894
4898
  .,.,
4895
4899
 
4896
- module_eval(<<'.,.,', 'parser.y', 632)
4900
+ module_eval(<<'.,.,', 'parser.y', 638)
4897
4901
  def _reduce_316(val, _values, result)
4898
4902
  result = [val[0], val[2], val[4]]
4899
4903
 
@@ -4901,21 +4905,21 @@ module_eval(<<'.,.,', 'parser.y', 632)
4901
4905
  end
4902
4906
  .,.,
4903
4907
 
4904
- module_eval(<<'.,.,', 'parser.y', 637)
4908
+ module_eval(<<'.,.,', 'parser.y', 643)
4905
4909
  def _reduce_317(val, _values, result)
4906
4910
  result = [val[0], val[2]]
4907
4911
  result
4908
4912
  end
4909
4913
  .,.,
4910
4914
 
4911
- module_eval(<<'.,.,', 'parser.y', 638)
4915
+ module_eval(<<'.,.,', 'parser.y', 644)
4912
4916
  def _reduce_318(val, _values, result)
4913
4917
  result = [val[0], val[2]]
4914
4918
  result
4915
4919
  end
4916
4920
  .,.,
4917
4921
 
4918
- module_eval(<<'.,.,', 'parser.y', 643)
4922
+ module_eval(<<'.,.,', 'parser.y', 649)
4919
4923
  def _reduce_319(val, _values, result)
4920
4924
  result = [val[0], Shifts::Shift.new(val[3], 0, val[2].to_sym)].flatten
4921
4925
 
@@ -4923,7 +4927,7 @@ module_eval(<<'.,.,', 'parser.y', 643)
4923
4927
  end
4924
4928
  .,.,
4925
4929
 
4926
- module_eval(<<'.,.,', 'parser.y', 646)
4930
+ module_eval(<<'.,.,', 'parser.y', 652)
4927
4931
  def _reduce_320(val, _values, result)
4928
4932
  result = [val[0], Shifts::Shift.new(nil, 0, val[2].to_sym)].flatten
4929
4933
 
@@ -4931,98 +4935,98 @@ module_eval(<<'.,.,', 'parser.y', 646)
4931
4935
  end
4932
4936
  .,.,
4933
4937
 
4934
- module_eval(<<'.,.,', 'parser.y', 651)
4938
+ module_eval(<<'.,.,', 'parser.y', 657)
4935
4939
  def _reduce_321(val, _values, result)
4936
4940
  result = TwoArg.new(val[0], val[2])
4937
4941
  result
4938
4942
  end
4939
4943
  .,.,
4940
4944
 
4941
- module_eval(<<'.,.,', 'parser.y', 652)
4945
+ module_eval(<<'.,.,', 'parser.y', 658)
4942
4946
  def _reduce_322(val, _values, result)
4943
4947
  result = TwoArg.new(val[0], val[2])
4944
4948
  result
4945
4949
  end
4946
4950
  .,.,
4947
4951
 
4948
- module_eval(<<'.,.,', 'parser.y', 653)
4952
+ module_eval(<<'.,.,', 'parser.y', 659)
4949
4953
  def _reduce_323(val, _values, result)
4950
4954
  result = ThreeArg.new(val[0], val[2], :!)
4951
4955
  result
4952
4956
  end
4953
4957
  .,.,
4954
4958
 
4955
- module_eval(<<'.,.,', 'parser.y', 654)
4959
+ module_eval(<<'.,.,', 'parser.y', 660)
4956
4960
  def _reduce_324(val, _values, result)
4957
4961
  result = ThreeArg.new(val[0], [val[2]], val[5])
4958
4962
  result
4959
4963
  end
4960
4964
  .,.,
4961
4965
 
4962
- module_eval(<<'.,.,', 'parser.y', 655)
4966
+ module_eval(<<'.,.,', 'parser.y', 661)
4963
4967
  def _reduce_325(val, _values, result)
4964
4968
  result = TwoArg.new(val[0], [val[2]])
4965
4969
  result
4966
4970
  end
4967
4971
  .,.,
4968
4972
 
4969
- module_eval(<<'.,.,', 'parser.y', 656)
4973
+ module_eval(<<'.,.,', 'parser.y', 662)
4970
4974
  def _reduce_326(val, _values, result)
4971
4975
  result = TwoArg.new(val[0], val[2])
4972
4976
  result
4973
4977
  end
4974
4978
  .,.,
4975
4979
 
4976
- module_eval(<<'.,.,', 'parser.y', 657)
4980
+ module_eval(<<'.,.,', 'parser.y', 663)
4977
4981
  def _reduce_327(val, _values, result)
4978
4982
  result = TwoArg.new(val[0], val[2])
4979
4983
  result
4980
4984
  end
4981
4985
  .,.,
4982
4986
 
4983
- module_eval(<<'.,.,', 'parser.y', 661)
4987
+ module_eval(<<'.,.,', 'parser.y', 667)
4984
4988
  def _reduce_328(val, _values, result)
4985
4989
  result = TwoArg.new(val[0], val[2])
4986
4990
  result
4987
4991
  end
4988
4992
  .,.,
4989
4993
 
4990
- module_eval(<<'.,.,', 'parser.y', 662)
4994
+ module_eval(<<'.,.,', 'parser.y', 668)
4991
4995
  def _reduce_329(val, _values, result)
4992
4996
  result = TwoArg.new(val[0], val[2])
4993
4997
  result
4994
4998
  end
4995
4999
  .,.,
4996
5000
 
4997
- module_eval(<<'.,.,', 'parser.y', 663)
5001
+ module_eval(<<'.,.,', 'parser.y', 669)
4998
5002
  def _reduce_330(val, _values, result)
4999
5003
  result = ThreeArg.new(val[0], val[2], :!)
5000
5004
  result
5001
5005
  end
5002
5006
  .,.,
5003
5007
 
5004
- module_eval(<<'.,.,', 'parser.y', 664)
5008
+ module_eval(<<'.,.,', 'parser.y', 670)
5005
5009
  def _reduce_331(val, _values, result)
5006
5010
  result = ThreeArg.new(val[0], [val[2]], val[5])
5007
5011
  result
5008
5012
  end
5009
5013
  .,.,
5010
5014
 
5011
- module_eval(<<'.,.,', 'parser.y', 665)
5015
+ module_eval(<<'.,.,', 'parser.y', 671)
5012
5016
  def _reduce_332(val, _values, result)
5013
5017
  result = TwoArg.new(val[0], [val[2]])
5014
5018
  result
5015
5019
  end
5016
5020
  .,.,
5017
5021
 
5018
- module_eval(<<'.,.,', 'parser.y', 666)
5022
+ module_eval(<<'.,.,', 'parser.y', 672)
5019
5023
  def _reduce_333(val, _values, result)
5020
5024
  result = TwoArg.new(val[0], val[2])
5021
5025
  result
5022
5026
  end
5023
5027
  .,.,
5024
5028
 
5025
- module_eval(<<'.,.,', 'parser.y', 667)
5029
+ module_eval(<<'.,.,', 'parser.y', 673)
5026
5030
  def _reduce_334(val, _values, result)
5027
5031
  result = TwoArg.new(val[0], val[2])
5028
5032
  result
@@ -5047,44 +5051,44 @@ module_eval(<<'.,.,', 'parser.y', 667)
5047
5051
 
5048
5052
  # reduce 343 omitted
5049
5053
 
5050
- module_eval(<<'.,.,', 'parser.y', 686)
5054
+ module_eval(<<'.,.,', 'parser.y', 692)
5051
5055
  def _reduce_344(val, _values, result)
5052
5056
  val[1].apply(@asm, val[0])
5053
5057
  result
5054
5058
  end
5055
5059
  .,.,
5056
5060
 
5057
- module_eval(<<'.,.,', 'parser.y', 687)
5061
+ module_eval(<<'.,.,', 'parser.y', 693)
5058
5062
  def _reduce_345(val, _values, result)
5059
5063
  val[1].apply(@asm, val[0])
5060
5064
  result
5061
5065
  end
5062
5066
  .,.,
5063
5067
 
5064
- module_eval(<<'.,.,', 'parser.y', 691)
5068
+ module_eval(<<'.,.,', 'parser.y', 697)
5065
5069
  def _reduce_346(val, _values, result)
5066
5070
  result = TwoArg.new(val[0], val[2])
5067
5071
  result
5068
5072
  end
5069
5073
  .,.,
5070
5074
 
5071
- module_eval(<<'.,.,', 'parser.y', 692)
5075
+ module_eval(<<'.,.,', 'parser.y', 698)
5072
5076
  def _reduce_347(val, _values, result)
5073
- result = TwoArg.new(val[0], val[2])
5077
+ result = TwoArg.new(val[0], [val[2]])
5074
5078
  result
5075
5079
  end
5076
5080
  .,.,
5077
5081
 
5078
- module_eval(<<'.,.,', 'parser.y', 696)
5082
+ module_eval(<<'.,.,', 'parser.y', 702)
5079
5083
  def _reduce_348(val, _values, result)
5080
5084
  result = TwoArg.new(val[0], val[2])
5081
5085
  result
5082
5086
  end
5083
5087
  .,.,
5084
5088
 
5085
- module_eval(<<'.,.,', 'parser.y', 697)
5089
+ module_eval(<<'.,.,', 'parser.y', 703)
5086
5090
  def _reduce_349(val, _values, result)
5087
- result = TwoArg.new(val[0], val[2])
5091
+ result = TwoArg.new(val[0], [val[2]])
5088
5092
  result
5089
5093
  end
5090
5094
  .,.,
@@ -5125,147 +5129,147 @@ module_eval(<<'.,.,', 'parser.y', 697)
5125
5129
 
5126
5130
  # reduce 367 omitted
5127
5131
 
5128
- module_eval(<<'.,.,', 'parser.y', 725)
5132
+ module_eval(<<'.,.,', 'parser.y', 731)
5129
5133
  def _reduce_368(val, _values, result)
5130
5134
  val[1].apply(@asm, val[0])
5131
5135
  result
5132
5136
  end
5133
5137
  .,.,
5134
5138
 
5135
- module_eval(<<'.,.,', 'parser.y', 726)
5139
+ module_eval(<<'.,.,', 'parser.y', 732)
5136
5140
  def _reduce_369(val, _values, result)
5137
5141
  val[1].apply(@asm, val[0])
5138
5142
  result
5139
5143
  end
5140
5144
  .,.,
5141
5145
 
5142
- module_eval(<<'.,.,', 'parser.y', 730)
5146
+ module_eval(<<'.,.,', 'parser.y', 736)
5143
5147
  def _reduce_370(val, _values, result)
5144
- @asm.ldxp(val[1], val[3], val[5])
5148
+ @asm.ldxp(val[1], val[3], [val[5]])
5145
5149
  result
5146
5150
  end
5147
5151
  .,.,
5148
5152
 
5149
- module_eval(<<'.,.,', 'parser.y', 731)
5153
+ module_eval(<<'.,.,', 'parser.y', 737)
5150
5154
  def _reduce_371(val, _values, result)
5151
- @asm.ldxp(val[1], val[3], val[5])
5155
+ @asm.ldxp(val[1], val[3], [val[5]])
5152
5156
  result
5153
5157
  end
5154
5158
  .,.,
5155
5159
 
5156
- module_eval(<<'.,.,', 'parser.y', 735)
5160
+ module_eval(<<'.,.,', 'parser.y', 741)
5157
5161
  def _reduce_372(val, _values, result)
5158
- @asm.ldxr(val[1], val[3])
5162
+ @asm.ldxr(val[1], [val[3]])
5159
5163
  result
5160
5164
  end
5161
5165
  .,.,
5162
5166
 
5163
- module_eval(<<'.,.,', 'parser.y', 736)
5167
+ module_eval(<<'.,.,', 'parser.y', 742)
5164
5168
  def _reduce_373(val, _values, result)
5165
- @asm.ldxr(val[1], val[3])
5169
+ @asm.ldxr(val[1], [val[3]])
5166
5170
  result
5167
5171
  end
5168
5172
  .,.,
5169
5173
 
5170
- module_eval(<<'.,.,', 'parser.y', 740)
5174
+ module_eval(<<'.,.,', 'parser.y', 746)
5171
5175
  def _reduce_374(val, _values, result)
5172
- @asm.ldxrb(val[1], val[3])
5176
+ @asm.ldxrb(val[1], [val[3]])
5173
5177
  result
5174
5178
  end
5175
5179
  .,.,
5176
5180
 
5177
- module_eval(<<'.,.,', 'parser.y', 744)
5181
+ module_eval(<<'.,.,', 'parser.y', 750)
5178
5182
  def _reduce_375(val, _values, result)
5179
- @asm.ldxrh(val[1], val[3])
5183
+ @asm.ldxrh(val[1], [val[3]])
5180
5184
  result
5181
5185
  end
5182
5186
  .,.,
5183
5187
 
5184
- module_eval(<<'.,.,', 'parser.y', 748)
5188
+ module_eval(<<'.,.,', 'parser.y', 754)
5185
5189
  def _reduce_376(val, _values, result)
5186
5190
  val[1].apply(@asm, val[0])
5187
5191
  result
5188
5192
  end
5189
5193
  .,.,
5190
5194
 
5191
- module_eval(<<'.,.,', 'parser.y', 749)
5195
+ module_eval(<<'.,.,', 'parser.y', 755)
5192
5196
  def _reduce_377(val, _values, result)
5193
5197
  val[1].apply(@asm, val[0])
5194
5198
  result
5195
5199
  end
5196
5200
  .,.,
5197
5201
 
5198
- module_eval(<<'.,.,', 'parser.y', 753)
5202
+ module_eval(<<'.,.,', 'parser.y', 759)
5199
5203
  def _reduce_378(val, _values, result)
5200
5204
  val[1].apply(@asm, val[0])
5201
5205
  result
5202
5206
  end
5203
5207
  .,.,
5204
5208
 
5205
- module_eval(<<'.,.,', 'parser.y', 754)
5209
+ module_eval(<<'.,.,', 'parser.y', 760)
5206
5210
  def _reduce_379(val, _values, result)
5207
5211
  val[1].apply(@asm, val[0])
5208
5212
  result
5209
5213
  end
5210
5214
  .,.,
5211
5215
 
5212
- module_eval(<<'.,.,', 'parser.y', 758)
5216
+ module_eval(<<'.,.,', 'parser.y', 764)
5213
5217
  def _reduce_380(val, _values, result)
5214
5218
  result = TwoArg.new(val[0], val[2])
5215
5219
  result
5216
5220
  end
5217
5221
  .,.,
5218
5222
 
5219
- module_eval(<<'.,.,', 'parser.y', 759)
5223
+ module_eval(<<'.,.,', 'parser.y', 765)
5220
5224
  def _reduce_381(val, _values, result)
5221
5225
  result = TwoArg.new(val[0], val[2])
5222
5226
  result
5223
5227
  end
5224
5228
  .,.,
5225
5229
 
5226
- module_eval(<<'.,.,', 'parser.y', 760)
5230
+ module_eval(<<'.,.,', 'parser.y', 766)
5227
5231
  def _reduce_382(val, _values, result)
5228
5232
  result = TwoArg.new(val[0], val[2])
5229
5233
  result
5230
5234
  end
5231
5235
  .,.,
5232
5236
 
5233
- module_eval(<<'.,.,', 'parser.y', 761)
5237
+ module_eval(<<'.,.,', 'parser.y', 767)
5234
5238
  def _reduce_383(val, _values, result)
5235
5239
  result = TwoArg.new(val[0], val[2])
5236
5240
  result
5237
5241
  end
5238
5242
  .,.,
5239
5243
 
5240
- module_eval(<<'.,.,', 'parser.y', 765)
5244
+ module_eval(<<'.,.,', 'parser.y', 771)
5241
5245
  def _reduce_384(val, _values, result)
5242
5246
  val[1].apply(@asm, val[0])
5243
5247
  result
5244
5248
  end
5245
5249
  .,.,
5246
5250
 
5247
- module_eval(<<'.,.,', 'parser.y', 766)
5251
+ module_eval(<<'.,.,', 'parser.y', 772)
5248
5252
  def _reduce_385(val, _values, result)
5249
5253
  val[1].apply(@asm, val[0])
5250
5254
  result
5251
5255
  end
5252
5256
  .,.,
5253
5257
 
5254
- module_eval(<<'.,.,', 'parser.y', 767)
5258
+ module_eval(<<'.,.,', 'parser.y', 773)
5255
5259
  def _reduce_386(val, _values, result)
5256
5260
  val[1].apply(@asm, val[0])
5257
5261
  result
5258
5262
  end
5259
5263
  .,.,
5260
5264
 
5261
- module_eval(<<'.,.,', 'parser.y', 771)
5265
+ module_eval(<<'.,.,', 'parser.y', 777)
5262
5266
  def _reduce_387(val, _values, result)
5263
5267
  result = TwoArg.new(val[0], val[2])
5264
5268
  result
5265
5269
  end
5266
5270
  .,.,
5267
5271
 
5268
- module_eval(<<'.,.,', 'parser.y', 773)
5272
+ module_eval(<<'.,.,', 'parser.y', 779)
5269
5273
  def _reduce_388(val, _values, result)
5270
5274
  result = TwoWithLsl.new(val[0], val[2], lsl: val[5])
5271
5275
 
@@ -5273,7 +5277,7 @@ module_eval(<<'.,.,', 'parser.y', 773)
5273
5277
  end
5274
5278
  .,.,
5275
5279
 
5276
- module_eval(<<'.,.,', 'parser.y', 779)
5280
+ module_eval(<<'.,.,', 'parser.y', 785)
5277
5281
  def _reduce_389(val, _values, result)
5278
5282
  TwoArg.new(val[1], val[3]).apply(@asm, val[0])
5279
5283
 
@@ -5281,7 +5285,7 @@ module_eval(<<'.,.,', 'parser.y', 779)
5281
5285
  end
5282
5286
  .,.,
5283
5287
 
5284
- module_eval(<<'.,.,', 'parser.y', 785)
5288
+ module_eval(<<'.,.,', 'parser.y', 791)
5285
5289
  def _reduce_390(val, _values, result)
5286
5290
  TwoArg.new(val[1], val[3]).apply(@asm, val[0])
5287
5291
 
@@ -5289,84 +5293,84 @@ module_eval(<<'.,.,', 'parser.y', 785)
5289
5293
  end
5290
5294
  .,.,
5291
5295
 
5292
- module_eval(<<'.,.,', 'parser.y', 790)
5296
+ module_eval(<<'.,.,', 'parser.y', 796)
5293
5297
  def _reduce_391(val, _values, result)
5294
5298
  val[1].apply(@asm, val[0])
5295
5299
  result
5296
5300
  end
5297
5301
  .,.,
5298
5302
 
5299
- module_eval(<<'.,.,', 'parser.y', 791)
5303
+ module_eval(<<'.,.,', 'parser.y', 797)
5300
5304
  def _reduce_392(val, _values, result)
5301
5305
  val[1].apply(@asm, val[0])
5302
5306
  result
5303
5307
  end
5304
5308
  .,.,
5305
5309
 
5306
- module_eval(<<'.,.,', 'parser.y', 795)
5310
+ module_eval(<<'.,.,', 'parser.y', 801)
5307
5311
  def _reduce_393(val, _values, result)
5308
5312
  val[1].apply(@asm, val[0])
5309
5313
  result
5310
5314
  end
5311
5315
  .,.,
5312
5316
 
5313
- module_eval(<<'.,.,', 'parser.y', 796)
5317
+ module_eval(<<'.,.,', 'parser.y', 802)
5314
5318
  def _reduce_394(val, _values, result)
5315
5319
  val[1].apply(@asm, val[0])
5316
5320
  result
5317
5321
  end
5318
5322
  .,.,
5319
5323
 
5320
- module_eval(<<'.,.,', 'parser.y', 800)
5324
+ module_eval(<<'.,.,', 'parser.y', 806)
5321
5325
  def _reduce_395(val, _values, result)
5322
5326
  val[1].apply(@asm, val[0])
5323
5327
  result
5324
5328
  end
5325
5329
  .,.,
5326
5330
 
5327
- module_eval(<<'.,.,', 'parser.y', 801)
5331
+ module_eval(<<'.,.,', 'parser.y', 807)
5328
5332
  def _reduce_396(val, _values, result)
5329
5333
  val[1].apply(@asm, val[0])
5330
5334
  result
5331
5335
  end
5332
5336
  .,.,
5333
5337
 
5334
- module_eval(<<'.,.,', 'parser.y', 805)
5338
+ module_eval(<<'.,.,', 'parser.y', 811)
5335
5339
  def _reduce_397(val, _values, result)
5336
5340
  val[1].apply(@asm, val[0])
5337
5341
  result
5338
5342
  end
5339
5343
  .,.,
5340
5344
 
5341
- module_eval(<<'.,.,', 'parser.y', 806)
5345
+ module_eval(<<'.,.,', 'parser.y', 812)
5342
5346
  def _reduce_398(val, _values, result)
5343
5347
  val[1].apply(@asm, val[0])
5344
5348
  result
5345
5349
  end
5346
5350
  .,.,
5347
5351
 
5348
- module_eval(<<'.,.,', 'parser.y', 810)
5352
+ module_eval(<<'.,.,', 'parser.y', 816)
5349
5353
  def _reduce_399(val, _values, result)
5350
5354
  val[1].apply(@asm, val[0])
5351
5355
  result
5352
5356
  end
5353
5357
  .,.,
5354
5358
 
5355
- module_eval(<<'.,.,', 'parser.y', 811)
5359
+ module_eval(<<'.,.,', 'parser.y', 817)
5356
5360
  def _reduce_400(val, _values, result)
5357
5361
  val[1].apply(@asm, val[0])
5358
5362
  result
5359
5363
  end
5360
5364
  .,.,
5361
5365
 
5362
- module_eval(<<'.,.,', 'parser.y', 812)
5366
+ module_eval(<<'.,.,', 'parser.y', 818)
5363
5367
  def _reduce_401(val, _values, result)
5364
5368
  val[1].apply(@asm, val[0])
5365
5369
  result
5366
5370
  end
5367
5371
  .,.,
5368
5372
 
5369
- module_eval(<<'.,.,', 'parser.y', 817)
5373
+ module_eval(<<'.,.,', 'parser.y', 823)
5370
5374
  def _reduce_402(val, _values, result)
5371
5375
  result = TwoArg.new(val[0].to_sym, val[2])
5372
5376
 
@@ -5374,7 +5378,7 @@ module_eval(<<'.,.,', 'parser.y', 817)
5374
5378
  end
5375
5379
  .,.,
5376
5380
 
5377
- module_eval(<<'.,.,', 'parser.y', 823)
5381
+ module_eval(<<'.,.,', 'parser.y', 829)
5378
5382
  def _reduce_403(val, _values, result)
5379
5383
  result = TwoArg.new(val[0].to_sym, val[2])
5380
5384
 
@@ -5382,7 +5386,7 @@ module_eval(<<'.,.,', 'parser.y', 823)
5382
5386
  end
5383
5387
  .,.,
5384
5388
 
5385
- module_eval(<<'.,.,', 'parser.y', 826)
5389
+ module_eval(<<'.,.,', 'parser.y', 832)
5386
5390
  def _reduce_404(val, _values, result)
5387
5391
  result = TwoArg.new(val[0].to_sym, [val[2]])
5388
5392
 
@@ -5390,7 +5394,7 @@ module_eval(<<'.,.,', 'parser.y', 826)
5390
5394
  end
5391
5395
  .,.,
5392
5396
 
5393
- module_eval(<<'.,.,', 'parser.y', 829)
5397
+ module_eval(<<'.,.,', 'parser.y', 835)
5394
5398
  def _reduce_405(val, _values, result)
5395
5399
  result = TwoArg.new(val[0].to_sym, val[2])
5396
5400
 
@@ -5398,91 +5402,91 @@ module_eval(<<'.,.,', 'parser.y', 829)
5398
5402
  end
5399
5403
  .,.,
5400
5404
 
5401
- module_eval(<<'.,.,', 'parser.y', 834)
5405
+ module_eval(<<'.,.,', 'parser.y', 840)
5402
5406
  def _reduce_406(val, _values, result)
5403
5407
  val[1].apply(@asm, val[0])
5404
5408
  result
5405
5409
  end
5406
5410
  .,.,
5407
5411
 
5408
- module_eval(<<'.,.,', 'parser.y', 835)
5412
+ module_eval(<<'.,.,', 'parser.y', 841)
5409
5413
  def _reduce_407(val, _values, result)
5410
5414
  val[1].apply(@asm, val[0])
5411
5415
  result
5412
5416
  end
5413
5417
  .,.,
5414
5418
 
5415
- module_eval(<<'.,.,', 'parser.y', 836)
5419
+ module_eval(<<'.,.,', 'parser.y', 842)
5416
5420
  def _reduce_408(val, _values, result)
5417
5421
  TwoArg.new(val[1], val[3]).apply(@asm, val[0])
5418
5422
  result
5419
5423
  end
5420
5424
  .,.,
5421
5425
 
5422
- module_eval(<<'.,.,', 'parser.y', 840)
5426
+ module_eval(<<'.,.,', 'parser.y', 846)
5423
5427
  def _reduce_409(val, _values, result)
5424
5428
  val[1].apply(@asm, val[0])
5425
5429
  result
5426
5430
  end
5427
5431
  .,.,
5428
5432
 
5429
- module_eval(<<'.,.,', 'parser.y', 844)
5433
+ module_eval(<<'.,.,', 'parser.y', 850)
5430
5434
  def _reduce_410(val, _values, result)
5431
5435
  @asm.ret
5432
5436
  result
5433
5437
  end
5434
5438
  .,.,
5435
5439
 
5436
- module_eval(<<'.,.,', 'parser.y', 845)
5440
+ module_eval(<<'.,.,', 'parser.y', 851)
5437
5441
  def _reduce_411(val, _values, result)
5438
5442
  @asm.ret(val[1])
5439
5443
  result
5440
5444
  end
5441
5445
  .,.,
5442
5446
 
5443
- module_eval(<<'.,.,', 'parser.y', 849)
5447
+ module_eval(<<'.,.,', 'parser.y', 855)
5444
5448
  def _reduce_412(val, _values, result)
5445
5449
  val[1].apply(@asm, val[0])
5446
5450
  result
5447
5451
  end
5448
5452
  .,.,
5449
5453
 
5450
- module_eval(<<'.,.,', 'parser.y', 850)
5454
+ module_eval(<<'.,.,', 'parser.y', 856)
5451
5455
  def _reduce_413(val, _values, result)
5452
5456
  val[1].apply(@asm, val[0])
5453
5457
  result
5454
5458
  end
5455
5459
  .,.,
5456
5460
 
5457
- module_eval(<<'.,.,', 'parser.y', 854)
5461
+ module_eval(<<'.,.,', 'parser.y', 860)
5458
5462
  def _reduce_414(val, _values, result)
5459
- @asm.stlr(val[1], val[3])
5463
+ @asm.stlr(val[1], [val[3]])
5460
5464
  result
5461
5465
  end
5462
5466
  .,.,
5463
5467
 
5464
- module_eval(<<'.,.,', 'parser.y', 855)
5468
+ module_eval(<<'.,.,', 'parser.y', 861)
5465
5469
  def _reduce_415(val, _values, result)
5466
- @asm.stlr(val[1], val[3])
5470
+ @asm.stlr(val[1], [val[3]])
5467
5471
  result
5468
5472
  end
5469
5473
  .,.,
5470
5474
 
5471
- module_eval(<<'.,.,', 'parser.y', 859)
5475
+ module_eval(<<'.,.,', 'parser.y', 865)
5472
5476
  def _reduce_416(val, _values, result)
5473
- @asm.stlrb(val[1], val[3])
5477
+ @asm.stlrb(val[1], [val[3]])
5474
5478
  result
5475
5479
  end
5476
5480
  .,.,
5477
5481
 
5478
- module_eval(<<'.,.,', 'parser.y', 863)
5482
+ module_eval(<<'.,.,', 'parser.y', 869)
5479
5483
  def _reduce_417(val, _values, result)
5480
- @asm.stlrh(val[1], val[3])
5484
+ @asm.stlrh(val[1], [val[3]])
5481
5485
  result
5482
5486
  end
5483
5487
  .,.,
5484
5488
 
5485
- module_eval(<<'.,.,', 'parser.y', 868)
5489
+ module_eval(<<'.,.,', 'parser.y', 874)
5486
5490
  def _reduce_418(val, _values, result)
5487
5491
  result = FourArg.new(*val.values_at(0, 2, 4, 6))
5488
5492
 
@@ -5490,17 +5494,19 @@ module_eval(<<'.,.,', 'parser.y', 868)
5490
5494
  end
5491
5495
  .,.,
5492
5496
 
5493
- module_eval(<<'.,.,', 'parser.y', 874)
5497
+ module_eval(<<'.,.,', 'parser.y', 880)
5494
5498
  def _reduce_419(val, _values, result)
5495
- result = FourArg.new(*val.values_at(0, 2, 4, 6))
5499
+ wd, xd1, xd2, r = *val.values_at(0, 2, 4, 6)
5500
+ result = FourArg.new(wd, xd1, xd2, [r])
5496
5501
 
5497
5502
  result
5498
5503
  end
5499
5504
  .,.,
5500
5505
 
5501
- module_eval(<<'.,.,', 'parser.y', 877)
5506
+ module_eval(<<'.,.,', 'parser.y', 884)
5502
5507
  def _reduce_420(val, _values, result)
5503
- result = FourArg.new(*val.values_at(0, 2, 4, 6))
5508
+ wd, wd1, wd2, r = *val.values_at(0, 2, 4, 6)
5509
+ result = FourArg.new(wd, wd1, wd2, [r])
5504
5510
 
5505
5511
  result
5506
5512
  end
@@ -5508,15 +5514,16 @@ module_eval(<<'.,.,', 'parser.y', 877)
5508
5514
 
5509
5515
  # reduce 421 omitted
5510
5516
 
5511
- module_eval(<<'.,.,', 'parser.y', 884)
5517
+ module_eval(<<'.,.,', 'parser.y', 892)
5512
5518
  def _reduce_422(val, _values, result)
5513
- result = ThreeArg.new(*val.values_at(0, 2, 4))
5519
+ wd, xd, rd = *val.values_at(0, 2, 4)
5520
+ result = ThreeArg.new(wd, xd, [rd])
5514
5521
 
5515
5522
  result
5516
5523
  end
5517
5524
  .,.,
5518
5525
 
5519
- module_eval(<<'.,.,', 'parser.y', 890)
5526
+ module_eval(<<'.,.,', 'parser.y', 899)
5520
5527
  def _reduce_423(val, _values, result)
5521
5528
  val[1].apply(@asm, val[0])
5522
5529
 
@@ -5524,14 +5531,14 @@ module_eval(<<'.,.,', 'parser.y', 890)
5524
5531
  end
5525
5532
  .,.,
5526
5533
 
5527
- module_eval(<<'.,.,', 'parser.y', 895)
5534
+ module_eval(<<'.,.,', 'parser.y', 904)
5528
5535
  def _reduce_424(val, _values, result)
5529
5536
  val[1].apply(@asm, val[0])
5530
5537
  result
5531
5538
  end
5532
5539
  .,.,
5533
5540
 
5534
- module_eval(<<'.,.,', 'parser.y', 897)
5541
+ module_eval(<<'.,.,', 'parser.y', 906)
5535
5542
  def _reduce_425(val, _values, result)
5536
5543
  FourArg.new(*val[1].to_a, :!).apply(@asm, val[0])
5537
5544
 
@@ -5539,15 +5546,16 @@ module_eval(<<'.,.,', 'parser.y', 897)
5539
5546
  end
5540
5547
  .,.,
5541
5548
 
5542
- module_eval(<<'.,.,', 'parser.y', 900)
5549
+ module_eval(<<'.,.,', 'parser.y', 909)
5543
5550
  def _reduce_426(val, _values, result)
5544
- FourArg.new(*val[1].to_a, val[4]).apply(@asm, val[0])
5551
+ rt, rt2, rn = *val[1].to_a
5552
+ FourArg.new(rt, rt2, [rn], val[4]).apply(@asm, val[0])
5545
5553
 
5546
5554
  result
5547
5555
  end
5548
5556
  .,.,
5549
5557
 
5550
- module_eval(<<'.,.,', 'parser.y', 903)
5558
+ module_eval(<<'.,.,', 'parser.y', 913)
5551
5559
  def _reduce_427(val, _values, result)
5552
5560
  a, b, c = *val[1].to_a
5553
5561
  ThreeArg.new(a, b, [c]).apply(@asm, val[0])
@@ -5556,7 +5564,7 @@ module_eval(<<'.,.,', 'parser.y', 903)
5556
5564
  end
5557
5565
  .,.,
5558
5566
 
5559
- module_eval(<<'.,.,', 'parser.y', 910)
5567
+ module_eval(<<'.,.,', 'parser.y', 920)
5560
5568
  def _reduce_428(val, _values, result)
5561
5569
  result = TwoArg.new(val[0], val[2])
5562
5570
 
@@ -5564,7 +5572,7 @@ module_eval(<<'.,.,', 'parser.y', 910)
5564
5572
  end
5565
5573
  .,.,
5566
5574
 
5567
- module_eval(<<'.,.,', 'parser.y', 913)
5575
+ module_eval(<<'.,.,', 'parser.y', 923)
5568
5576
  def _reduce_429(val, _values, result)
5569
5577
  result = TwoArg.new(val[0], val[2])
5570
5578
 
@@ -5572,7 +5580,7 @@ module_eval(<<'.,.,', 'parser.y', 913)
5572
5580
  end
5573
5581
  .,.,
5574
5582
 
5575
- module_eval(<<'.,.,', 'parser.y', 916)
5583
+ module_eval(<<'.,.,', 'parser.y', 926)
5576
5584
  def _reduce_430(val, _values, result)
5577
5585
  result = ThreeArg.new(val[0], val[2], :!)
5578
5586
 
@@ -5580,15 +5588,15 @@ module_eval(<<'.,.,', 'parser.y', 916)
5580
5588
  end
5581
5589
  .,.,
5582
5590
 
5583
- module_eval(<<'.,.,', 'parser.y', 919)
5591
+ module_eval(<<'.,.,', 'parser.y', 929)
5584
5592
  def _reduce_431(val, _values, result)
5585
- result = ThreeArg.new(val[0], val[2], val[5])
5593
+ result = ThreeArg.new(val[0], [val[2]], val[5])
5586
5594
 
5587
5595
  result
5588
5596
  end
5589
5597
  .,.,
5590
5598
 
5591
- module_eval(<<'.,.,', 'parser.y', 922)
5599
+ module_eval(<<'.,.,', 'parser.y', 932)
5592
5600
  def _reduce_432(val, _values, result)
5593
5601
  result = TwoArg.new(val[0], [val[2]])
5594
5602
 
@@ -5596,7 +5604,7 @@ module_eval(<<'.,.,', 'parser.y', 922)
5596
5604
  end
5597
5605
  .,.,
5598
5606
 
5599
- module_eval(<<'.,.,', 'parser.y', 925)
5607
+ module_eval(<<'.,.,', 'parser.y', 935)
5600
5608
  def _reduce_433(val, _values, result)
5601
5609
  result = TwoArg.new(val[0], val[2])
5602
5610
 
@@ -5604,14 +5612,14 @@ module_eval(<<'.,.,', 'parser.y', 925)
5604
5612
  end
5605
5613
  .,.,
5606
5614
 
5607
- module_eval(<<'.,.,', 'parser.y', 930)
5615
+ module_eval(<<'.,.,', 'parser.y', 940)
5608
5616
  def _reduce_434(val, _values, result)
5609
5617
  val[1].apply(@asm, val[0])
5610
5618
  result
5611
5619
  end
5612
5620
  .,.,
5613
5621
 
5614
- module_eval(<<'.,.,', 'parser.y', 935)
5622
+ module_eval(<<'.,.,', 'parser.y', 945)
5615
5623
  def _reduce_435(val, _values, result)
5616
5624
  result = TwoArg.new(val[0], val[2])
5617
5625
 
@@ -5619,7 +5627,7 @@ module_eval(<<'.,.,', 'parser.y', 935)
5619
5627
  end
5620
5628
  .,.,
5621
5629
 
5622
- module_eval(<<'.,.,', 'parser.y', 938)
5630
+ module_eval(<<'.,.,', 'parser.y', 948)
5623
5631
  def _reduce_436(val, _values, result)
5624
5632
  result = TwoArg.new(val[0], val[2])
5625
5633
 
@@ -5627,7 +5635,7 @@ module_eval(<<'.,.,', 'parser.y', 938)
5627
5635
  end
5628
5636
  .,.,
5629
5637
 
5630
- module_eval(<<'.,.,', 'parser.y', 941)
5638
+ module_eval(<<'.,.,', 'parser.y', 951)
5631
5639
  def _reduce_437(val, _values, result)
5632
5640
  result = TwoArg.new(val[0], val[2])
5633
5641
 
@@ -5635,7 +5643,7 @@ module_eval(<<'.,.,', 'parser.y', 941)
5635
5643
  end
5636
5644
  .,.,
5637
5645
 
5638
- module_eval(<<'.,.,', 'parser.y', 944)
5646
+ module_eval(<<'.,.,', 'parser.y', 954)
5639
5647
  def _reduce_438(val, _values, result)
5640
5648
  result = ThreeArg.new(val[0], val[2], :!)
5641
5649
 
@@ -5643,7 +5651,7 @@ module_eval(<<'.,.,', 'parser.y', 944)
5643
5651
  end
5644
5652
  .,.,
5645
5653
 
5646
- module_eval(<<'.,.,', 'parser.y', 947)
5654
+ module_eval(<<'.,.,', 'parser.y', 957)
5647
5655
  def _reduce_439(val, _values, result)
5648
5656
  result = ThreeArg.new(val[0], val[2], val[5])
5649
5657
 
@@ -5651,7 +5659,7 @@ module_eval(<<'.,.,', 'parser.y', 947)
5651
5659
  end
5652
5660
  .,.,
5653
5661
 
5654
- module_eval(<<'.,.,', 'parser.y', 950)
5662
+ module_eval(<<'.,.,', 'parser.y', 960)
5655
5663
  def _reduce_440(val, _values, result)
5656
5664
  result = TwoArg.new(val[0], [val[2]])
5657
5665
 
@@ -5659,155 +5667,155 @@ module_eval(<<'.,.,', 'parser.y', 950)
5659
5667
  end
5660
5668
  .,.,
5661
5669
 
5662
- module_eval(<<'.,.,', 'parser.y', 953)
5670
+ module_eval(<<'.,.,', 'parser.y', 963)
5663
5671
  def _reduce_441(val, _values, result)
5664
- result = ThreeArg.new(val[0], val[2], val[5])
5672
+ result = ThreeArg.new(val[0], [val[2]], val[5])
5665
5673
 
5666
5674
  result
5667
5675
  end
5668
5676
  .,.,
5669
5677
 
5670
- module_eval(<<'.,.,', 'parser.y', 958)
5678
+ module_eval(<<'.,.,', 'parser.y', 968)
5671
5679
  def _reduce_442(val, _values, result)
5672
5680
  val[1].apply(@asm, val[0])
5673
5681
  result
5674
5682
  end
5675
5683
  .,.,
5676
5684
 
5677
- module_eval(<<'.,.,', 'parser.y', 962)
5685
+ module_eval(<<'.,.,', 'parser.y', 972)
5678
5686
  def _reduce_443(val, _values, result)
5679
5687
  val[1].apply(@asm, val[0])
5680
5688
  result
5681
5689
  end
5682
5690
  .,.,
5683
5691
 
5684
- module_eval(<<'.,.,', 'parser.y', 966)
5692
+ module_eval(<<'.,.,', 'parser.y', 976)
5685
5693
  def _reduce_444(val, _values, result)
5686
5694
  result = TwoArg.new(val[0], [val[2]])
5687
5695
  result
5688
5696
  end
5689
5697
  .,.,
5690
5698
 
5691
- module_eval(<<'.,.,', 'parser.y', 967)
5699
+ module_eval(<<'.,.,', 'parser.y', 977)
5692
5700
  def _reduce_445(val, _values, result)
5693
5701
  result = TwoArg.new(val[0], val[2])
5694
5702
  result
5695
5703
  end
5696
5704
  .,.,
5697
5705
 
5698
- module_eval(<<'.,.,', 'parser.y', 971)
5706
+ module_eval(<<'.,.,', 'parser.y', 981)
5699
5707
  def _reduce_446(val, _values, result)
5700
5708
  result = TwoArg.new(val[0], [val[2]])
5701
5709
  result
5702
5710
  end
5703
5711
  .,.,
5704
5712
 
5705
- module_eval(<<'.,.,', 'parser.y', 972)
5713
+ module_eval(<<'.,.,', 'parser.y', 982)
5706
5714
  def _reduce_447(val, _values, result)
5707
5715
  result = TwoArg.new(val[0], val[2])
5708
5716
  result
5709
5717
  end
5710
5718
  .,.,
5711
5719
 
5712
- module_eval(<<'.,.,', 'parser.y', 976)
5720
+ module_eval(<<'.,.,', 'parser.y', 986)
5713
5721
  def _reduce_448(val, _values, result)
5714
5722
  val[1].apply(@asm, val[0])
5715
5723
  result
5716
5724
  end
5717
5725
  .,.,
5718
5726
 
5719
- module_eval(<<'.,.,', 'parser.y', 977)
5727
+ module_eval(<<'.,.,', 'parser.y', 987)
5720
5728
  def _reduce_449(val, _values, result)
5721
5729
  val[1].apply(@asm, val[0])
5722
5730
  result
5723
5731
  end
5724
5732
  .,.,
5725
5733
 
5726
- module_eval(<<'.,.,', 'parser.y', 980)
5734
+ module_eval(<<'.,.,', 'parser.y', 990)
5727
5735
  def _reduce_450(val, _values, result)
5728
5736
  val[1].apply(@asm, val[0])
5729
5737
  result
5730
5738
  end
5731
5739
  .,.,
5732
5740
 
5733
- module_eval(<<'.,.,', 'parser.y', 982)
5741
+ module_eval(<<'.,.,', 'parser.y', 992)
5734
5742
  def _reduce_451(val, _values, result)
5735
5743
  val[1].apply(@asm, val[0])
5736
5744
  result
5737
5745
  end
5738
5746
  .,.,
5739
5747
 
5740
- module_eval(<<'.,.,', 'parser.y', 985)
5748
+ module_eval(<<'.,.,', 'parser.y', 995)
5741
5749
  def _reduce_452(val, _values, result)
5742
5750
  val[1].apply(@asm, val[0])
5743
5751
  result
5744
5752
  end
5745
5753
  .,.,
5746
5754
 
5747
- module_eval(<<'.,.,', 'parser.y', 986)
5755
+ module_eval(<<'.,.,', 'parser.y', 996)
5748
5756
  def _reduce_453(val, _values, result)
5749
5757
  val[1].apply(@asm, val[0])
5750
5758
  result
5751
5759
  end
5752
5760
  .,.,
5753
5761
 
5754
- module_eval(<<'.,.,', 'parser.y', 987)
5762
+ module_eval(<<'.,.,', 'parser.y', 997)
5755
5763
  def _reduce_454(val, _values, result)
5756
5764
  val[1].apply(@asm, val[0])
5757
5765
  result
5758
5766
  end
5759
5767
  .,.,
5760
5768
 
5761
- module_eval(<<'.,.,', 'parser.y', 988)
5769
+ module_eval(<<'.,.,', 'parser.y', 998)
5762
5770
  def _reduce_455(val, _values, result)
5763
5771
  val[1].apply(@asm, val[0])
5764
5772
  result
5765
5773
  end
5766
5774
  .,.,
5767
5775
 
5768
- module_eval(<<'.,.,', 'parser.y', 993)
5776
+ module_eval(<<'.,.,', 'parser.y', 1003)
5769
5777
  def _reduce_456(val, _values, result)
5770
- FourArg.new(*val[1].to_a, val[3]).apply(@asm, val[0])
5778
+ FourArg.new(*val[1].to_a, [val[3]]).apply(@asm, val[0])
5771
5779
 
5772
5780
  result
5773
5781
  end
5774
5782
  .,.,
5775
5783
 
5776
- module_eval(<<'.,.,', 'parser.y', 996)
5784
+ module_eval(<<'.,.,', 'parser.y', 1006)
5777
5785
  def _reduce_457(val, _values, result)
5778
- FourArg.new(*val[1].to_a, val[3]).apply(@asm, val[0])
5786
+ FourArg.new(*val[1].to_a, [val[3]]).apply(@asm, val[0])
5779
5787
 
5780
5788
  result
5781
5789
  end
5782
5790
  .,.,
5783
5791
 
5784
- module_eval(<<'.,.,', 'parser.y', 1002)
5792
+ module_eval(<<'.,.,', 'parser.y', 1012)
5785
5793
  def _reduce_458(val, _values, result)
5786
- ThreeArg.new(*val[1].to_a, val[3]).apply(@asm, val[0])
5794
+ ThreeArg.new(*val[1].to_a, [val[3]]).apply(@asm, val[0])
5787
5795
 
5788
5796
  result
5789
5797
  end
5790
5798
  .,.,
5791
5799
 
5792
- module_eval(<<'.,.,', 'parser.y', 1005)
5800
+ module_eval(<<'.,.,', 'parser.y', 1015)
5793
5801
  def _reduce_459(val, _values, result)
5794
- ThreeArg.new(*val[1].to_a, val[3]).apply(@asm, val[0])
5802
+ ThreeArg.new(*val[1].to_a, [val[3]]).apply(@asm, val[0])
5795
5803
 
5796
5804
  result
5797
5805
  end
5798
5806
  .,.,
5799
5807
 
5800
- module_eval(<<'.,.,', 'parser.y', 1011)
5808
+ module_eval(<<'.,.,', 'parser.y', 1021)
5801
5809
  def _reduce_460(val, _values, result)
5802
- ThreeArg.new(*val[1].to_a, val[3]).apply(@asm, val[0])
5810
+ ThreeArg.new(*val[1].to_a, [val[3]]).apply(@asm, val[0])
5803
5811
 
5804
5812
  result
5805
5813
  end
5806
5814
  .,.,
5807
5815
 
5808
- module_eval(<<'.,.,', 'parser.y', 1017)
5816
+ module_eval(<<'.,.,', 'parser.y', 1027)
5809
5817
  def _reduce_461(val, _values, result)
5810
- ThreeArg.new(*val[1].to_a, val[3]).apply(@asm, val[0])
5818
+ ThreeArg.new(*val[1].to_a, [val[3]]).apply(@asm, val[0])
5811
5819
 
5812
5820
  result
5813
5821
  end
@@ -5817,7 +5825,7 @@ module_eval(<<'.,.,', 'parser.y', 1017)
5817
5825
 
5818
5826
  # reduce 463 omitted
5819
5827
 
5820
- module_eval(<<'.,.,', 'parser.y', 1028)
5828
+ module_eval(<<'.,.,', 'parser.y', 1038)
5821
5829
  def _reduce_464(val, _values, result)
5822
5830
  @asm.sys(val[1], val[3], val[5], val[7])
5823
5831
 
@@ -5825,7 +5833,7 @@ module_eval(<<'.,.,', 'parser.y', 1028)
5825
5833
  end
5826
5834
  .,.,
5827
5835
 
5828
- module_eval(<<'.,.,', 'parser.y', 1031)
5836
+ module_eval(<<'.,.,', 'parser.y', 1041)
5829
5837
  def _reduce_465(val, _values, result)
5830
5838
  @asm.sys(val[1], val[3], val[5], val[7], val[9])
5831
5839
 
@@ -5833,7 +5841,7 @@ module_eval(<<'.,.,', 'parser.y', 1031)
5833
5841
  end
5834
5842
  .,.,
5835
5843
 
5836
- module_eval(<<'.,.,', 'parser.y', 1036)
5844
+ module_eval(<<'.,.,', 'parser.y', 1046)
5837
5845
  def _reduce_466(val, _values, result)
5838
5846
  @asm.sysl(val[1], val[3], val[5], val[7], val[9])
5839
5847
 
@@ -5841,7 +5849,7 @@ module_eval(<<'.,.,', 'parser.y', 1036)
5841
5849
  end
5842
5850
  .,.,
5843
5851
 
5844
- module_eval(<<'.,.,', 'parser.y', 1042)
5852
+ module_eval(<<'.,.,', 'parser.y', 1052)
5845
5853
  def _reduce_467(val, _values, result)
5846
5854
  result = ThreeArg.new(val[0], val[2], val[4])
5847
5855
 
@@ -5849,7 +5857,7 @@ module_eval(<<'.,.,', 'parser.y', 1042)
5849
5857
  end
5850
5858
  .,.,
5851
5859
 
5852
- module_eval(<<'.,.,', 'parser.y', 1045)
5860
+ module_eval(<<'.,.,', 'parser.y', 1055)
5853
5861
  def _reduce_468(val, _values, result)
5854
5862
  result = ThreeArg.new(val[0], val[2], val[4])
5855
5863
 
@@ -5857,42 +5865,42 @@ module_eval(<<'.,.,', 'parser.y', 1045)
5857
5865
  end
5858
5866
  .,.,
5859
5867
 
5860
- module_eval(<<'.,.,', 'parser.y', 1050)
5868
+ module_eval(<<'.,.,', 'parser.y', 1060)
5861
5869
  def _reduce_469(val, _values, result)
5862
5870
  @asm.tlbi(val[1].to_sym)
5863
5871
  result
5864
5872
  end
5865
5873
  .,.,
5866
5874
 
5867
- module_eval(<<'.,.,', 'parser.y', 1051)
5875
+ module_eval(<<'.,.,', 'parser.y', 1061)
5868
5876
  def _reduce_470(val, _values, result)
5869
5877
  @asm.tlbi(val[1].to_sym, val[3])
5870
5878
  result
5871
5879
  end
5872
5880
  .,.,
5873
5881
 
5874
- module_eval(<<'.,.,', 'parser.y', 1055)
5882
+ module_eval(<<'.,.,', 'parser.y', 1065)
5875
5883
  def _reduce_471(val, _values, result)
5876
5884
  val[1].apply(@asm, val[0])
5877
5885
  result
5878
5886
  end
5879
5887
  .,.,
5880
5888
 
5881
- module_eval(<<'.,.,', 'parser.y', 1056)
5889
+ module_eval(<<'.,.,', 'parser.y', 1066)
5882
5890
  def _reduce_472(val, _values, result)
5883
5891
  val[1].apply(@asm, val[0])
5884
5892
  result
5885
5893
  end
5886
5894
  .,.,
5887
5895
 
5888
- module_eval(<<'.,.,', 'parser.y', 1057)
5896
+ module_eval(<<'.,.,', 'parser.y', 1067)
5889
5897
  def _reduce_473(val, _values, result)
5890
5898
  val[1].apply(@asm, val[0])
5891
5899
  result
5892
5900
  end
5893
5901
  .,.,
5894
5902
 
5895
- module_eval(<<'.,.,', 'parser.y', 1062)
5903
+ module_eval(<<'.,.,', 'parser.y', 1072)
5896
5904
  def _reduce_474(val, _values, result)
5897
5905
  result = FourArg.new(*val.values_at(0, 2, 4, 6))
5898
5906
 
@@ -5900,7 +5908,7 @@ module_eval(<<'.,.,', 'parser.y', 1062)
5900
5908
  end
5901
5909
  .,.,
5902
5910
 
5903
- module_eval(<<'.,.,', 'parser.y', 1065)
5911
+ module_eval(<<'.,.,', 'parser.y', 1075)
5904
5912
  def _reduce_475(val, _values, result)
5905
5913
  result = FourArg.new(*val.values_at(0, 2, 4, 6))
5906
5914
 
@@ -5908,7 +5916,7 @@ module_eval(<<'.,.,', 'parser.y', 1065)
5908
5916
  end
5909
5917
  .,.,
5910
5918
 
5911
- module_eval(<<'.,.,', 'parser.y', 1071)
5919
+ module_eval(<<'.,.,', 'parser.y', 1081)
5912
5920
  def _reduce_476(val, _values, result)
5913
5921
  result = FourArg.new(*val.values_at(0, 2, 4, 6))
5914
5922
 
@@ -5916,15 +5924,15 @@ module_eval(<<'.,.,', 'parser.y', 1071)
5916
5924
  end
5917
5925
  .,.,
5918
5926
 
5919
- module_eval(<<'.,.,', 'parser.y', 1077)
5927
+ module_eval(<<'.,.,', 'parser.y', 1087)
5920
5928
  def _reduce_477(val, _values, result)
5921
- result = ThreeArg.new(*val.values_at(0, 2, 4))
5929
+ result = ThreeArg.new(val[0], val[2], [val[4]])
5922
5930
 
5923
5931
  result
5924
5932
  end
5925
5933
  .,.,
5926
5934
 
5927
- module_eval(<<'.,.,', 'parser.y', 1083)
5935
+ module_eval(<<'.,.,', 'parser.y', 1093)
5928
5936
  def _reduce_478(val, _values, result)
5929
5937
  result = ThreeArg.new(*val.values_at(0, 2, 4))
5930
5938
 
@@ -5932,7 +5940,7 @@ module_eval(<<'.,.,', 'parser.y', 1083)
5932
5940
  end
5933
5941
  .,.,
5934
5942
 
5935
- module_eval(<<'.,.,', 'parser.y', 1086)
5943
+ module_eval(<<'.,.,', 'parser.y', 1096)
5936
5944
  def _reduce_479(val, _values, result)
5937
5945
  result = ThreeArg.new(*val.values_at(0, 2, 4))
5938
5946
 
@@ -5944,7 +5952,7 @@ module_eval(<<'.,.,', 'parser.y', 1086)
5944
5952
 
5945
5953
  # reduce 481 omitted
5946
5954
 
5947
- module_eval(<<'.,.,', 'parser.y', 1097)
5955
+ module_eval(<<'.,.,', 'parser.y', 1107)
5948
5956
  def _reduce_482(val, _values, result)
5949
5957
  result = ThreeArg.new(*val.values_at(0, 2, 4))
5950
5958
 
@@ -5952,7 +5960,7 @@ module_eval(<<'.,.,', 'parser.y', 1097)
5952
5960
  end
5953
5961
  .,.,
5954
5962
 
5955
- module_eval(<<'.,.,', 'parser.y', 1103)
5963
+ module_eval(<<'.,.,', 'parser.y', 1113)
5956
5964
  def _reduce_483(val, _values, result)
5957
5965
  result = ThreeArg.new(*val.values_at(0, 2, 4))
5958
5966
 
@@ -5960,7 +5968,7 @@ module_eval(<<'.,.,', 'parser.y', 1103)
5960
5968
  end
5961
5969
  .,.,
5962
5970
 
5963
- module_eval(<<'.,.,', 'parser.y', 1109)
5971
+ module_eval(<<'.,.,', 'parser.y', 1119)
5964
5972
  def _reduce_484(val, _values, result)
5965
5973
  result = ThreeArg.new(*val.values_at(0, 2, 4))
5966
5974
 
@@ -5968,7 +5976,7 @@ module_eval(<<'.,.,', 'parser.y', 1109)
5968
5976
  end
5969
5977
  .,.,
5970
5978
 
5971
- module_eval(<<'.,.,', 'parser.y', 1115)
5979
+ module_eval(<<'.,.,', 'parser.y', 1125)
5972
5980
  def _reduce_485(val, _values, result)
5973
5981
  result = TwoArg.new(*val.values_at(0, 2))
5974
5982
 
@@ -5976,7 +5984,7 @@ module_eval(<<'.,.,', 'parser.y', 1115)
5976
5984
  end
5977
5985
  .,.,
5978
5986
 
5979
- module_eval(<<'.,.,', 'parser.y', 1121)
5987
+ module_eval(<<'.,.,', 'parser.y', 1131)
5980
5988
  def _reduce_486(val, _values, result)
5981
5989
  result = FourArg.new(*val.values_at(0, 2, 4, 6))
5982
5990
 
@@ -5984,7 +5992,7 @@ module_eval(<<'.,.,', 'parser.y', 1121)
5984
5992
  end
5985
5993
  .,.,
5986
5994
 
5987
- module_eval(<<'.,.,', 'parser.y', 1124)
5995
+ module_eval(<<'.,.,', 'parser.y', 1134)
5988
5996
  def _reduce_487(val, _values, result)
5989
5997
  result = FourArg.new(*val.values_at(0, 2, 4, 6))
5990
5998
 
@@ -5992,28 +6000,28 @@ module_eval(<<'.,.,', 'parser.y', 1124)
5992
6000
  end
5993
6001
  .,.,
5994
6002
 
5995
- module_eval(<<'.,.,', 'parser.y', 1129)
6003
+ module_eval(<<'.,.,', 'parser.y', 1139)
5996
6004
  def _reduce_488(val, _values, result)
5997
6005
  result = val[0].to_sym
5998
6006
  result
5999
6007
  end
6000
6008
  .,.,
6001
6009
 
6002
- module_eval(<<'.,.,', 'parser.y', 1130)
6010
+ module_eval(<<'.,.,', 'parser.y', 1140)
6003
6011
  def _reduce_489(val, _values, result)
6004
6012
  result = val[0].to_sym
6005
6013
  result
6006
6014
  end
6007
6015
  .,.,
6008
6016
 
6009
- module_eval(<<'.,.,', 'parser.y', 1131)
6017
+ module_eval(<<'.,.,', 'parser.y', 1141)
6010
6018
  def _reduce_490(val, _values, result)
6011
6019
  result = val[0].to_sym
6012
6020
  result
6013
6021
  end
6014
6022
  .,.,
6015
6023
 
6016
- module_eval(<<'.,.,', 'parser.y', 1132)
6024
+ module_eval(<<'.,.,', 'parser.y', 1142)
6017
6025
  def _reduce_491(val, _values, result)
6018
6026
  result = val[0].to_sym
6019
6027
  result
@@ -6024,14 +6032,14 @@ module_eval(<<'.,.,', 'parser.y', 1132)
6024
6032
 
6025
6033
  # reduce 493 omitted
6026
6034
 
6027
- module_eval(<<'.,.,', 'parser.y', 1140)
6035
+ module_eval(<<'.,.,', 'parser.y', 1150)
6028
6036
  def _reduce_494(val, _values, result)
6029
6037
  result = TwoArg.new(val[0], val[2])
6030
6038
  result
6031
6039
  end
6032
6040
  .,.,
6033
6041
 
6034
- module_eval(<<'.,.,', 'parser.y', 1143)
6042
+ module_eval(<<'.,.,', 'parser.y', 1153)
6035
6043
  def _reduce_495(val, _values, result)
6036
6044
  result = TwoArg.new(val[0], val[2])
6037
6045
  result
@@ -6040,42 +6048,42 @@ module_eval(<<'.,.,', 'parser.y', 1143)
6040
6048
 
6041
6049
  # reduce 496 omitted
6042
6050
 
6043
- module_eval(<<'.,.,', 'parser.y', 1148)
6051
+ module_eval(<<'.,.,', 'parser.y', 1158)
6044
6052
  def _reduce_497(val, _values, result)
6045
6053
  result = ThreeArg.new(val[0], val[2], val[4])
6046
6054
  result
6047
6055
  end
6048
6056
  .,.,
6049
6057
 
6050
- module_eval(<<'.,.,', 'parser.y', 1152)
6058
+ module_eval(<<'.,.,', 'parser.y', 1162)
6051
6059
  def _reduce_498(val, _values, result)
6052
6060
  result = ThreeArg.new(val[0], val[2], val[4])
6053
6061
  result
6054
6062
  end
6055
6063
  .,.,
6056
6064
 
6057
- module_eval(<<'.,.,', 'parser.y', 1156)
6065
+ module_eval(<<'.,.,', 'parser.y', 1166)
6058
6066
  def _reduce_499(val, _values, result)
6059
6067
  result = ThreeArg.new(val[0], val[2], val[4])
6060
6068
  result
6061
6069
  end
6062
6070
  .,.,
6063
6071
 
6064
- module_eval(<<'.,.,', 'parser.y', 1160)
6072
+ module_eval(<<'.,.,', 'parser.y', 1170)
6065
6073
  def _reduce_500(val, _values, result)
6066
6074
  result = TwoArg.new(val[0], val[2])
6067
6075
  result
6068
6076
  end
6069
6077
  .,.,
6070
6078
 
6071
- module_eval(<<'.,.,', 'parser.y', 1164)
6079
+ module_eval(<<'.,.,', 'parser.y', 1174)
6072
6080
  def _reduce_501(val, _values, result)
6073
6081
  result = TwoArg.new(val[0], val[2])
6074
6082
  result
6075
6083
  end
6076
6084
  .,.,
6077
6085
 
6078
- module_eval(<<'.,.,', 'parser.y', 1168)
6086
+ module_eval(<<'.,.,', 'parser.y', 1178)
6079
6087
  def _reduce_502(val, _values, result)
6080
6088
  result = ThreeArg.new(val[0], val[2], val[4])
6081
6089
  result
@@ -6086,35 +6094,35 @@ module_eval(<<'.,.,', 'parser.y', 1168)
6086
6094
 
6087
6095
  # reduce 504 omitted
6088
6096
 
6089
- module_eval(<<'.,.,', 'parser.y', 1177)
6097
+ module_eval(<<'.,.,', 'parser.y', 1187)
6090
6098
  def _reduce_505(val, _values, result)
6091
6099
  result = FourArg.new(val[0], val[2], val[4], val[6])
6092
6100
  result
6093
6101
  end
6094
6102
  .,.,
6095
6103
 
6096
- module_eval(<<'.,.,', 'parser.y', 1178)
6104
+ module_eval(<<'.,.,', 'parser.y', 1188)
6097
6105
  def _reduce_506(val, _values, result)
6098
6106
  result = FourArg.new(val[0], val[2], val[4], val[6])
6099
6107
  result
6100
6108
  end
6101
6109
  .,.,
6102
6110
 
6103
- module_eval(<<'.,.,', 'parser.y', 1182)
6111
+ module_eval(<<'.,.,', 'parser.y', 1192)
6104
6112
  def _reduce_507(val, _values, result)
6105
6113
  result = TwoArg.new(val[0], val[2])
6106
6114
  result
6107
6115
  end
6108
6116
  .,.,
6109
6117
 
6110
- module_eval(<<'.,.,', 'parser.y', 1183)
6118
+ module_eval(<<'.,.,', 'parser.y', 1193)
6111
6119
  def _reduce_508(val, _values, result)
6112
6120
  result = TwoArg.new(val[0], val[2])
6113
6121
  result
6114
6122
  end
6115
6123
  .,.,
6116
6124
 
6117
- module_eval(<<'.,.,', 'parser.y', 1188)
6125
+ module_eval(<<'.,.,', 'parser.y', 1198)
6118
6126
  def _reduce_509(val, _values, result)
6119
6127
  result = ThreeArg.new(val[0], val[2], val[4])
6120
6128
 
@@ -6122,7 +6130,7 @@ module_eval(<<'.,.,', 'parser.y', 1188)
6122
6130
  end
6123
6131
  .,.,
6124
6132
 
6125
- module_eval(<<'.,.,', 'parser.y', 1191)
6133
+ module_eval(<<'.,.,', 'parser.y', 1201)
6126
6134
  def _reduce_510(val, _values, result)
6127
6135
  result = ThreeArg.new(val[0], val[2], val[4])
6128
6136
 
@@ -6130,7 +6138,7 @@ module_eval(<<'.,.,', 'parser.y', 1191)
6130
6138
  end
6131
6139
  .,.,
6132
6140
 
6133
- module_eval(<<'.,.,', 'parser.y', 1194)
6141
+ module_eval(<<'.,.,', 'parser.y', 1204)
6134
6142
  def _reduce_511(val, _values, result)
6135
6143
  result = ThreeArg.new(val[0], val[2], val[4])
6136
6144
 
@@ -6138,7 +6146,7 @@ module_eval(<<'.,.,', 'parser.y', 1194)
6138
6146
  end
6139
6147
  .,.,
6140
6148
 
6141
- module_eval(<<'.,.,', 'parser.y', 1197)
6149
+ module_eval(<<'.,.,', 'parser.y', 1207)
6142
6150
  def _reduce_512(val, _values, result)
6143
6151
  result = ThreeArg.new(val[0], val[2], val[4])
6144
6152
 
@@ -6146,7 +6154,7 @@ module_eval(<<'.,.,', 'parser.y', 1197)
6146
6154
  end
6147
6155
  .,.,
6148
6156
 
6149
- module_eval(<<'.,.,', 'parser.y', 1200)
6157
+ module_eval(<<'.,.,', 'parser.y', 1210)
6150
6158
  def _reduce_513(val, _values, result)
6151
6159
  result = ThreeArg.new(val[0], val[2], val[4])
6152
6160
 
@@ -6154,7 +6162,7 @@ module_eval(<<'.,.,', 'parser.y', 1200)
6154
6162
  end
6155
6163
  .,.,
6156
6164
 
6157
- module_eval(<<'.,.,', 'parser.y', 1203)
6165
+ module_eval(<<'.,.,', 'parser.y', 1213)
6158
6166
  def _reduce_514(val, _values, result)
6159
6167
  result = ThreeArg.new(val[0], val[2], val[4])
6160
6168
 
@@ -6162,7 +6170,7 @@ module_eval(<<'.,.,', 'parser.y', 1203)
6162
6170
  end
6163
6171
  .,.,
6164
6172
 
6165
- module_eval(<<'.,.,', 'parser.y', 1206)
6173
+ module_eval(<<'.,.,', 'parser.y', 1216)
6166
6174
  def _reduce_515(val, _values, result)
6167
6175
  result = ThreeArg.new(val[0], val[2], val[4])
6168
6176
 
@@ -6170,7 +6178,7 @@ module_eval(<<'.,.,', 'parser.y', 1206)
6170
6178
  end
6171
6179
  .,.,
6172
6180
 
6173
- module_eval(<<'.,.,', 'parser.y', 1212)
6181
+ module_eval(<<'.,.,', 'parser.y', 1222)
6174
6182
  def _reduce_516(val, _values, result)
6175
6183
  result = FourArg.new(val[0], val[2], val[4], val[6])
6176
6184
 
@@ -6178,7 +6186,7 @@ module_eval(<<'.,.,', 'parser.y', 1212)
6178
6186
  end
6179
6187
  .,.,
6180
6188
 
6181
- module_eval(<<'.,.,', 'parser.y', 1215)
6189
+ module_eval(<<'.,.,', 'parser.y', 1225)
6182
6190
  def _reduce_517(val, _values, result)
6183
6191
  result = FourArg.new(val[0], val[2], val[4], val[6])
6184
6192
 
@@ -6186,14 +6194,14 @@ module_eval(<<'.,.,', 'parser.y', 1215)
6186
6194
  end
6187
6195
  .,.,
6188
6196
 
6189
- module_eval(<<'.,.,', 'parser.y', 1220)
6197
+ module_eval(<<'.,.,', 'parser.y', 1230)
6190
6198
  def _reduce_518(val, _values, result)
6191
6199
  result = val[1]
6192
6200
  result
6193
6201
  end
6194
6202
  .,.,
6195
6203
 
6196
- module_eval(<<'.,.,', 'parser.y', 1221)
6204
+ module_eval(<<'.,.,', 'parser.y', 1231)
6197
6205
  def _reduce_519(val, _values, result)
6198
6206
  result = val[0]
6199
6207
  result