pg_query 2.1.0 → 4.2.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 (472) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +104 -0
  3. data/README.md +59 -31
  4. data/Rakefile +2 -2
  5. data/ext/pg_query/extconf.rb +8 -2
  6. data/ext/pg_query/include/access/amapi.h +45 -1
  7. data/ext/pg_query/include/access/attmap.h +1 -1
  8. data/ext/pg_query/include/access/attnum.h +2 -2
  9. data/ext/pg_query/include/access/clog.h +4 -2
  10. data/ext/pg_query/include/access/commit_ts.h +6 -9
  11. data/ext/pg_query/include/access/detoast.h +1 -11
  12. data/ext/pg_query/include/access/genam.h +15 -12
  13. data/ext/pg_query/include/access/gin.h +2 -2
  14. data/ext/pg_query/include/access/htup.h +1 -1
  15. data/ext/pg_query/include/access/htup_details.h +75 -87
  16. data/ext/pg_query/include/access/itup.h +7 -1
  17. data/ext/pg_query/include/access/parallel.h +2 -2
  18. data/ext/pg_query/include/access/printtup.h +1 -1
  19. data/ext/pg_query/include/access/relation.h +1 -1
  20. data/ext/pg_query/include/access/relscan.h +17 -2
  21. data/ext/pg_query/include/access/rmgr.h +30 -3
  22. data/ext/pg_query/include/access/rmgrlist.h +23 -23
  23. data/ext/pg_query/include/access/sdir.h +1 -1
  24. data/ext/pg_query/include/access/skey.h +1 -1
  25. data/ext/pg_query/include/access/stratnum.h +4 -2
  26. data/ext/pg_query/include/access/sysattr.h +1 -1
  27. data/ext/pg_query/include/access/table.h +2 -1
  28. data/ext/pg_query/include/access/tableam.h +272 -20
  29. data/ext/pg_query/include/access/toast_compression.h +73 -0
  30. data/ext/pg_query/include/access/transam.h +123 -13
  31. data/ext/pg_query/include/access/tupconvert.h +1 -1
  32. data/ext/pg_query/include/access/tupdesc.h +1 -1
  33. data/ext/pg_query/include/access/tupmacs.h +3 -3
  34. data/ext/pg_query/include/access/twophase.h +5 -1
  35. data/ext/pg_query/include/access/xact.h +79 -19
  36. data/ext/pg_query/include/access/xlog.h +60 -155
  37. data/ext/pg_query/include/access/xlog_internal.h +50 -14
  38. data/ext/pg_query/include/access/xlogdefs.h +8 -16
  39. data/ext/pg_query/include/access/xlogprefetcher.h +55 -0
  40. data/ext/pg_query/include/access/xlogreader.h +148 -32
  41. data/ext/pg_query/include/access/xlogrecord.h +18 -9
  42. data/ext/pg_query/include/access/xlogrecovery.h +157 -0
  43. data/ext/pg_query/include/c.h +101 -44
  44. data/ext/pg_query/include/catalog/catalog.h +3 -1
  45. data/ext/pg_query/include/catalog/catversion.h +2 -2
  46. data/ext/pg_query/include/catalog/dependency.h +10 -16
  47. data/ext/pg_query/include/catalog/genbki.h +83 -5
  48. data/ext/pg_query/include/catalog/index.h +18 -3
  49. data/ext/pg_query/include/catalog/indexing.h +12 -324
  50. data/ext/pg_query/include/catalog/namespace.h +4 -2
  51. data/ext/pg_query/include/catalog/objectaccess.h +70 -2
  52. data/ext/pg_query/include/catalog/objectaddress.h +11 -6
  53. data/ext/pg_query/include/catalog/pg_aggregate.h +14 -10
  54. data/ext/pg_query/include/catalog/pg_aggregate_d.h +2 -1
  55. data/ext/pg_query/include/catalog/pg_am.h +4 -1
  56. data/ext/pg_query/include/catalog/pg_am_d.h +3 -1
  57. data/ext/pg_query/include/catalog/pg_attribute.h +27 -10
  58. data/ext/pg_query/include/catalog/pg_attribute_d.h +21 -18
  59. data/ext/pg_query/include/catalog/pg_authid.h +7 -2
  60. data/ext/pg_query/include/catalog/pg_authid_d.h +17 -9
  61. data/ext/pg_query/include/catalog/pg_class.h +45 -15
  62. data/ext/pg_query/include/catalog/pg_class_d.h +31 -2
  63. data/ext/pg_query/include/catalog/pg_collation.h +33 -8
  64. data/ext/pg_query/include/catalog/pg_collation_d.h +20 -3
  65. data/ext/pg_query/include/catalog/pg_constraint.h +38 -12
  66. data/ext/pg_query/include/catalog/pg_constraint_d.h +10 -4
  67. data/ext/pg_query/include/catalog/pg_control.h +5 -5
  68. data/ext/pg_query/include/catalog/pg_conversion.h +7 -4
  69. data/ext/pg_query/include/catalog/pg_conversion_d.h +4 -1
  70. data/ext/pg_query/include/catalog/pg_depend.h +11 -7
  71. data/ext/pg_query/include/catalog/pg_depend_d.h +3 -1
  72. data/ext/pg_query/include/catalog/pg_event_trigger.h +9 -3
  73. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +3 -1
  74. data/ext/pg_query/include/catalog/pg_index.h +17 -7
  75. data/ext/pg_query/include/catalog/pg_index_d.h +20 -17
  76. data/ext/pg_query/include/catalog/pg_language.h +10 -5
  77. data/ext/pg_query/include/catalog/pg_language_d.h +3 -1
  78. data/ext/pg_query/include/catalog/pg_namespace.h +7 -2
  79. data/ext/pg_query/include/catalog/pg_namespace_d.h +3 -1
  80. data/ext/pg_query/include/catalog/pg_opclass.h +8 -5
  81. data/ext/pg_query/include/catalog/pg_opclass_d.h +3 -1
  82. data/ext/pg_query/include/catalog/pg_operator.h +21 -16
  83. data/ext/pg_query/include/catalog/pg_operator_d.h +37 -1
  84. data/ext/pg_query/include/catalog/pg_opfamily.h +6 -3
  85. data/ext/pg_query/include/catalog/pg_opfamily_d.h +3 -1
  86. data/ext/pg_query/include/catalog/pg_parameter_acl.h +60 -0
  87. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +34 -0
  88. data/ext/pg_query/include/catalog/pg_partitioned_table.h +20 -9
  89. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +2 -1
  90. data/ext/pg_query/include/catalog/pg_proc.h +20 -11
  91. data/ext/pg_query/include/catalog/pg_proc_d.h +10 -8
  92. data/ext/pg_query/include/catalog/pg_publication.h +50 -4
  93. data/ext/pg_query/include/catalog/pg_publication_d.h +3 -1
  94. data/ext/pg_query/include/catalog/pg_replication_origin.h +6 -1
  95. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +5 -1
  96. data/ext/pg_query/include/catalog/pg_statistic.h +19 -12
  97. data/ext/pg_query/include/catalog/pg_statistic_d.h +2 -1
  98. data/ext/pg_query/include/catalog/pg_statistic_ext.h +19 -5
  99. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +7 -2
  100. data/ext/pg_query/include/catalog/pg_transform.h +8 -5
  101. data/ext/pg_query/include/catalog/pg_transform_d.h +3 -1
  102. data/ext/pg_query/include/catalog/pg_trigger.h +24 -8
  103. data/ext/pg_query/include/catalog/pg_trigger_d.h +4 -1
  104. data/ext/pg_query/include/catalog/pg_ts_config.h +6 -3
  105. data/ext/pg_query/include/catalog/pg_ts_config_d.h +3 -1
  106. data/ext/pg_query/include/catalog/pg_ts_dict.h +8 -3
  107. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +3 -1
  108. data/ext/pg_query/include/catalog/pg_ts_parser.h +6 -3
  109. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +3 -1
  110. data/ext/pg_query/include/catalog/pg_ts_template.h +6 -3
  111. data/ext/pg_query/include/catalog/pg_ts_template_d.h +3 -1
  112. data/ext/pg_query/include/catalog/pg_type.h +56 -24
  113. data/ext/pg_query/include/catalog/pg_type_d.h +70 -31
  114. data/ext/pg_query/include/catalog/storage.h +5 -3
  115. data/ext/pg_query/include/commands/async.h +4 -5
  116. data/ext/pg_query/include/commands/dbcommands.h +2 -1
  117. data/ext/pg_query/include/commands/defrem.h +11 -24
  118. data/ext/pg_query/include/commands/event_trigger.h +2 -2
  119. data/ext/pg_query/include/commands/explain.h +1 -1
  120. data/ext/pg_query/include/commands/prepare.h +1 -1
  121. data/ext/pg_query/include/commands/tablespace.h +3 -1
  122. data/ext/pg_query/include/commands/trigger.h +27 -17
  123. data/ext/pg_query/include/commands/user.h +2 -2
  124. data/ext/pg_query/include/commands/vacuum.h +88 -41
  125. data/ext/pg_query/include/commands/variable.h +1 -1
  126. data/ext/pg_query/include/common/file_perm.h +4 -4
  127. data/ext/pg_query/include/common/hashfn.h +1 -1
  128. data/ext/pg_query/include/common/ip.h +1 -7
  129. data/ext/pg_query/include/common/keywords.h +2 -6
  130. data/ext/pg_query/include/common/kwlookup.h +1 -1
  131. data/ext/pg_query/include/common/pg_prng.h +60 -0
  132. data/ext/pg_query/include/common/relpath.h +2 -2
  133. data/ext/pg_query/include/common/string.h +24 -1
  134. data/ext/pg_query/include/common/unicode_combining_table.h +114 -2
  135. data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +125 -0
  136. data/ext/pg_query/include/datatype/timestamp.h +40 -1
  137. data/ext/pg_query/include/executor/execdesc.h +1 -1
  138. data/ext/pg_query/include/executor/executor.h +65 -22
  139. data/ext/pg_query/include/executor/functions.h +17 -3
  140. data/ext/pg_query/include/executor/instrument.h +33 -16
  141. data/ext/pg_query/include/executor/spi.h +41 -3
  142. data/ext/pg_query/include/executor/tablefunc.h +1 -1
  143. data/ext/pg_query/include/executor/tuptable.h +1 -1
  144. data/ext/pg_query/include/fmgr.h +13 -7
  145. data/ext/pg_query/include/funcapi.h +16 -4
  146. data/ext/pg_query/include/getaddrinfo.h +1 -1
  147. data/ext/pg_query/include/jit/jit.h +11 -11
  148. data/ext/pg_query/include/kwlist_d.h +517 -494
  149. data/ext/pg_query/include/lib/dshash.h +112 -0
  150. data/ext/pg_query/include/lib/ilist.h +20 -1
  151. data/ext/pg_query/include/lib/pairingheap.h +1 -1
  152. data/ext/pg_query/include/lib/simplehash.h +150 -25
  153. data/ext/pg_query/include/lib/sort_template.h +432 -0
  154. data/ext/pg_query/include/lib/stringinfo.h +1 -1
  155. data/ext/pg_query/include/libpq/auth.h +6 -4
  156. data/ext/pg_query/include/libpq/crypt.h +5 -4
  157. data/ext/pg_query/include/libpq/hba.h +43 -4
  158. data/ext/pg_query/include/libpq/libpq-be.h +23 -6
  159. data/ext/pg_query/include/libpq/libpq.h +31 -20
  160. data/ext/pg_query/include/libpq/pqcomm.h +17 -31
  161. data/ext/pg_query/include/libpq/pqformat.h +1 -1
  162. data/ext/pg_query/include/libpq/pqsignal.h +4 -4
  163. data/ext/pg_query/include/mb/pg_wchar.h +106 -23
  164. data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
  165. data/ext/pg_query/include/miscadmin.h +71 -52
  166. data/ext/pg_query/include/nodes/bitmapset.h +1 -1
  167. data/ext/pg_query/include/nodes/execnodes.h +272 -80
  168. data/ext/pg_query/include/nodes/extensible.h +4 -2
  169. data/ext/pg_query/include/nodes/lockoptions.h +1 -1
  170. data/ext/pg_query/include/nodes/makefuncs.h +7 -6
  171. data/ext/pg_query/include/nodes/memnodes.h +5 -3
  172. data/ext/pg_query/include/nodes/nodeFuncs.h +1 -1
  173. data/ext/pg_query/include/nodes/nodes.h +30 -11
  174. data/ext/pg_query/include/nodes/params.h +1 -1
  175. data/ext/pg_query/include/nodes/parsenodes.h +327 -94
  176. data/ext/pg_query/include/nodes/pathnodes.h +245 -67
  177. data/ext/pg_query/include/nodes/pg_list.h +75 -68
  178. data/ext/pg_query/include/nodes/plannodes.h +128 -30
  179. data/ext/pg_query/include/nodes/primnodes.h +99 -47
  180. data/ext/pg_query/include/nodes/print.h +1 -1
  181. data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
  182. data/ext/pg_query/include/nodes/value.h +58 -39
  183. data/ext/pg_query/include/optimizer/cost.h +9 -2
  184. data/ext/pg_query/include/optimizer/geqo.h +9 -7
  185. data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
  186. data/ext/pg_query/include/optimizer/optimizer.h +25 -22
  187. data/ext/pg_query/include/optimizer/paths.h +6 -6
  188. data/ext/pg_query/include/optimizer/planmain.h +15 -14
  189. data/ext/pg_query/include/parser/analyze.h +19 -5
  190. data/ext/pg_query/include/parser/gram.h +947 -913
  191. data/ext/pg_query/include/parser/gramparse.h +1 -1
  192. data/ext/pg_query/include/parser/kwlist.h +463 -453
  193. data/ext/pg_query/include/parser/parse_agg.h +2 -7
  194. data/ext/pg_query/include/parser/parse_coerce.h +4 -1
  195. data/ext/pg_query/include/parser/parse_expr.h +2 -3
  196. data/ext/pg_query/include/parser/parse_func.h +2 -1
  197. data/ext/pg_query/include/parser/parse_node.h +21 -9
  198. data/ext/pg_query/include/parser/parse_oper.h +1 -3
  199. data/ext/pg_query/include/parser/parse_relation.h +5 -4
  200. data/ext/pg_query/include/parser/parse_type.h +1 -1
  201. data/ext/pg_query/include/parser/parser.h +31 -4
  202. data/ext/pg_query/include/parser/parsetree.h +1 -1
  203. data/ext/pg_query/include/parser/scanner.h +1 -1
  204. data/ext/pg_query/include/parser/scansup.h +2 -5
  205. data/ext/pg_query/include/partitioning/partdefs.h +1 -1
  206. data/ext/pg_query/include/pg_config.h +94 -46
  207. data/ext/pg_query/include/pg_config_manual.h +74 -21
  208. data/ext/pg_query/include/pg_getopt.h +6 -6
  209. data/ext/pg_query/include/pg_query.h +5 -4
  210. data/ext/pg_query/include/pg_query_enum_defs.c +358 -241
  211. data/ext/pg_query/include/pg_query_fingerprint_conds.c +44 -7
  212. data/ext/pg_query/include/pg_query_fingerprint_defs.c +1220 -422
  213. data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
  214. data/ext/pg_query/include/pg_query_outfuncs_defs.c +152 -26
  215. data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
  216. data/ext/pg_query/include/pg_query_readfuncs_defs.c +174 -30
  217. data/ext/pg_query/include/pg_trace.h +1 -1
  218. data/ext/pg_query/include/pgstat.h +449 -1237
  219. data/ext/pg_query/include/pgtime.h +14 -4
  220. data/ext/pg_query/include/pl_gram.h +126 -128
  221. data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
  222. data/ext/pg_query/include/pl_reserved_kwlist_d.h +10 -10
  223. data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -3
  224. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +54 -56
  225. data/ext/pg_query/include/plerrcodes.h +9 -1
  226. data/ext/pg_query/include/plpgsql.h +52 -54
  227. data/ext/pg_query/include/port/atomics/arch-arm.h +7 -1
  228. data/ext/pg_query/include/port/atomics/arch-ppc.h +1 -1
  229. data/ext/pg_query/include/port/atomics/arch-x86.h +1 -1
  230. data/ext/pg_query/include/port/atomics/fallback.h +1 -1
  231. data/ext/pg_query/include/port/atomics/generic-gcc.h +3 -3
  232. data/ext/pg_query/include/port/atomics/generic.h +1 -1
  233. data/ext/pg_query/include/port/atomics.h +1 -1
  234. data/ext/pg_query/include/port/pg_bitutils.h +88 -12
  235. data/ext/pg_query/include/port/pg_bswap.h +1 -1
  236. data/ext/pg_query/include/port/pg_crc32c.h +1 -1
  237. data/ext/pg_query/include/port.h +72 -43
  238. data/ext/pg_query/include/portability/instr_time.h +1 -1
  239. data/ext/pg_query/include/postgres.h +60 -16
  240. data/ext/pg_query/include/postmaster/autovacuum.h +17 -17
  241. data/ext/pg_query/include/postmaster/auxprocess.h +20 -0
  242. data/ext/pg_query/include/postmaster/bgworker.h +2 -1
  243. data/ext/pg_query/include/postmaster/bgworker_internals.h +2 -2
  244. data/ext/pg_query/include/postmaster/bgwriter.h +5 -5
  245. data/ext/pg_query/include/postmaster/fork_process.h +1 -1
  246. data/ext/pg_query/include/postmaster/interrupt.h +1 -1
  247. data/ext/pg_query/include/postmaster/pgarch.h +42 -8
  248. data/ext/pg_query/include/postmaster/postmaster.h +18 -17
  249. data/ext/pg_query/include/postmaster/startup.h +39 -0
  250. data/ext/pg_query/include/postmaster/syslogger.h +15 -10
  251. data/ext/pg_query/include/postmaster/walwriter.h +3 -3
  252. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1422 -916
  253. data/ext/pg_query/include/protobuf/pg_query.pb.h +43678 -32769
  254. data/ext/pg_query/include/regex/regex.h +18 -16
  255. data/ext/pg_query/include/replication/logicallauncher.h +3 -5
  256. data/ext/pg_query/include/replication/logicalproto.h +161 -17
  257. data/ext/pg_query/include/replication/logicalworker.h +1 -1
  258. data/ext/pg_query/include/replication/origin.h +7 -7
  259. data/ext/pg_query/include/replication/reorderbuffer.h +262 -44
  260. data/ext/pg_query/include/replication/slot.h +23 -12
  261. data/ext/pg_query/include/replication/syncrep.h +5 -5
  262. data/ext/pg_query/include/replication/walreceiver.h +145 -13
  263. data/ext/pg_query/include/replication/walsender.h +8 -8
  264. data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
  265. data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -3
  266. data/ext/pg_query/include/rewrite/rewriteManip.h +1 -1
  267. data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
  268. data/ext/pg_query/include/storage/backendid.h +3 -3
  269. data/ext/pg_query/include/storage/block.h +4 -10
  270. data/ext/pg_query/include/storage/buf.h +1 -1
  271. data/ext/pg_query/include/storage/bufmgr.h +19 -14
  272. data/ext/pg_query/include/storage/bufpage.h +6 -8
  273. data/ext/pg_query/include/storage/condition_variable.h +13 -2
  274. data/ext/pg_query/include/storage/dsm.h +4 -1
  275. data/ext/pg_query/include/storage/dsm_impl.h +3 -2
  276. data/ext/pg_query/include/storage/fd.h +33 -3
  277. data/ext/pg_query/include/storage/fileset.h +40 -0
  278. data/ext/pg_query/include/storage/ipc.h +4 -1
  279. data/ext/pg_query/include/storage/item.h +1 -1
  280. data/ext/pg_query/include/storage/itemid.h +1 -1
  281. data/ext/pg_query/include/storage/itemptr.h +3 -1
  282. data/ext/pg_query/include/storage/large_object.h +2 -2
  283. data/ext/pg_query/include/storage/latch.h +9 -13
  284. data/ext/pg_query/include/storage/lmgr.h +2 -1
  285. data/ext/pg_query/include/storage/lock.h +17 -13
  286. data/ext/pg_query/include/storage/lockdefs.h +2 -2
  287. data/ext/pg_query/include/storage/lwlock.h +6 -32
  288. data/ext/pg_query/include/storage/lwlocknames.h +0 -1
  289. data/ext/pg_query/include/storage/off.h +1 -1
  290. data/ext/pg_query/include/storage/pg_sema.h +1 -1
  291. data/ext/pg_query/include/storage/pg_shmem.h +9 -7
  292. data/ext/pg_query/include/storage/pmsignal.h +15 -4
  293. data/ext/pg_query/include/storage/predicate.h +4 -4
  294. data/ext/pg_query/include/storage/proc.h +183 -55
  295. data/ext/pg_query/include/storage/procarray.h +98 -0
  296. data/ext/pg_query/include/storage/proclist_types.h +1 -1
  297. data/ext/pg_query/include/storage/procsignal.h +3 -7
  298. data/ext/pg_query/include/storage/relfilenode.h +1 -1
  299. data/ext/pg_query/include/storage/s_lock.h +67 -4
  300. data/ext/pg_query/include/storage/sharedfileset.h +3 -11
  301. data/ext/pg_query/include/storage/shm_mq.h +5 -4
  302. data/ext/pg_query/include/storage/shm_toc.h +1 -1
  303. data/ext/pg_query/include/storage/shmem.h +1 -1
  304. data/ext/pg_query/include/storage/sinval.h +3 -3
  305. data/ext/pg_query/include/storage/sinvaladt.h +1 -1
  306. data/ext/pg_query/include/storage/smgr.h +10 -8
  307. data/ext/pg_query/include/storage/spin.h +2 -2
  308. data/ext/pg_query/include/storage/standby.h +13 -6
  309. data/ext/pg_query/include/storage/standbydefs.h +2 -2
  310. data/ext/pg_query/include/storage/sync.h +7 -3
  311. data/ext/pg_query/include/tcop/cmdtag.h +1 -1
  312. data/ext/pg_query/include/tcop/cmdtaglist.h +3 -2
  313. data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
  314. data/ext/pg_query/include/tcop/dest.h +1 -1
  315. data/ext/pg_query/include/tcop/fastpath.h +1 -2
  316. data/ext/pg_query/include/tcop/pquery.h +7 -1
  317. data/ext/pg_query/include/tcop/tcopprot.h +19 -11
  318. data/ext/pg_query/include/tcop/utility.h +7 -3
  319. data/ext/pg_query/include/tsearch/ts_cache.h +2 -2
  320. data/ext/pg_query/include/utils/acl.h +24 -3
  321. data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
  322. data/ext/pg_query/include/utils/array.h +7 -2
  323. data/ext/pg_query/include/utils/backend_progress.h +44 -0
  324. data/ext/pg_query/include/utils/backend_status.h +321 -0
  325. data/ext/pg_query/include/utils/builtins.h +11 -11
  326. data/ext/pg_query/include/utils/bytea.h +3 -2
  327. data/ext/pg_query/include/utils/catcache.h +1 -1
  328. data/ext/pg_query/include/utils/date.h +1 -1
  329. data/ext/pg_query/include/utils/datetime.h +8 -7
  330. data/ext/pg_query/include/utils/datum.h +9 -1
  331. data/ext/pg_query/include/utils/dsa.h +1 -1
  332. data/ext/pg_query/include/utils/dynahash.h +4 -3
  333. data/ext/pg_query/include/utils/elog.h +52 -21
  334. data/ext/pg_query/include/utils/errcodes.h +2 -0
  335. data/ext/pg_query/include/utils/expandeddatum.h +1 -1
  336. data/ext/pg_query/include/utils/expandedrecord.h +1 -1
  337. data/ext/pg_query/include/utils/float.h +7 -7
  338. data/ext/pg_query/include/utils/fmgroids.h +1300 -696
  339. data/ext/pg_query/include/utils/fmgrprotos.h +199 -16
  340. data/ext/pg_query/include/utils/fmgrtab.h +6 -5
  341. data/ext/pg_query/include/utils/guc.h +69 -43
  342. data/ext/pg_query/include/utils/guc_tables.h +23 -19
  343. data/ext/pg_query/include/utils/hsearch.h +15 -11
  344. data/ext/pg_query/include/utils/inval.h +5 -1
  345. data/ext/pg_query/include/utils/lsyscache.h +11 -1
  346. data/ext/pg_query/include/utils/memdebug.h +1 -1
  347. data/ext/pg_query/include/utils/memutils.h +8 -3
  348. data/ext/pg_query/include/utils/numeric.h +19 -5
  349. data/ext/pg_query/include/utils/palloc.h +25 -3
  350. data/ext/pg_query/include/utils/partcache.h +1 -1
  351. data/ext/pg_query/include/utils/pg_locale.h +17 -9
  352. data/ext/pg_query/include/utils/pg_lsn.h +1 -1
  353. data/ext/pg_query/include/utils/pgstat_internal.h +784 -0
  354. data/ext/pg_query/include/utils/pidfile.h +1 -1
  355. data/ext/pg_query/include/utils/plancache.h +6 -5
  356. data/ext/pg_query/include/utils/portal.h +12 -1
  357. data/ext/pg_query/include/utils/ps_status.h +1 -1
  358. data/ext/pg_query/include/utils/queryenvironment.h +1 -1
  359. data/ext/pg_query/include/utils/queryjumble.h +88 -0
  360. data/ext/pg_query/include/utils/regproc.h +14 -3
  361. data/ext/pg_query/include/utils/rel.h +71 -20
  362. data/ext/pg_query/include/utils/relcache.h +9 -7
  363. data/ext/pg_query/include/utils/reltrigger.h +1 -1
  364. data/ext/pg_query/include/utils/resowner.h +1 -1
  365. data/ext/pg_query/include/utils/rls.h +2 -2
  366. data/ext/pg_query/include/utils/ruleutils.h +4 -1
  367. data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
  368. data/ext/pg_query/include/utils/snapmgr.h +35 -14
  369. data/ext/pg_query/include/utils/snapshot.h +14 -1
  370. data/ext/pg_query/include/utils/sortsupport.h +117 -2
  371. data/ext/pg_query/include/utils/syscache.h +6 -1
  372. data/ext/pg_query/include/utils/timeout.h +11 -4
  373. data/ext/pg_query/include/utils/timestamp.h +6 -5
  374. data/ext/pg_query/include/utils/tuplesort.h +25 -11
  375. data/ext/pg_query/include/utils/tuplestore.h +2 -2
  376. data/ext/pg_query/include/utils/typcache.h +24 -17
  377. data/ext/pg_query/include/utils/tzparser.h +1 -1
  378. data/ext/pg_query/include/utils/varlena.h +5 -3
  379. data/ext/pg_query/include/utils/wait_event.h +289 -0
  380. data/ext/pg_query/include/utils/xml.h +4 -4
  381. data/ext/pg_query/pg_query.pb-c.c +4318 -2307
  382. data/ext/pg_query/pg_query_deparse.c +1114 -381
  383. data/ext/pg_query/pg_query_fingerprint.c +46 -10
  384. data/ext/pg_query/pg_query_fingerprint.h +3 -1
  385. data/ext/pg_query/pg_query_json_plpgsql.c +55 -12
  386. data/ext/pg_query/pg_query_normalize.c +163 -20
  387. data/ext/pg_query/pg_query_outfuncs.h +1 -0
  388. data/ext/pg_query/pg_query_outfuncs_json.c +65 -16
  389. data/ext/pg_query/pg_query_outfuncs_protobuf.c +70 -10
  390. data/ext/pg_query/pg_query_parse.c +1 -1
  391. data/ext/pg_query/pg_query_parse_plpgsql.c +79 -16
  392. data/ext/pg_query/pg_query_readfuncs_protobuf.c +42 -8
  393. data/ext/pg_query/pg_query_ruby.c +1 -1
  394. data/ext/pg_query/pg_query_scan.c +2 -1
  395. data/ext/pg_query/pg_query_split.c +3 -2
  396. data/ext/pg_query/src_backend_catalog_namespace.c +21 -9
  397. data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
  398. data/ext/pg_query/src_backend_commands_define.c +11 -1
  399. data/ext/pg_query/src_backend_nodes_bitmapset.c +3 -1
  400. data/ext/pg_query/src_backend_nodes_copyfuncs.c +424 -109
  401. data/ext/pg_query/src_backend_nodes_equalfuncs.c +291 -46
  402. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  403. data/ext/pg_query/src_backend_nodes_list.c +86 -11
  404. data/ext/pg_query/src_backend_nodes_makefuncs.c +5 -4
  405. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +55 -12
  406. data/ext/pg_query/src_backend_nodes_value.c +28 -19
  407. data/ext/pg_query/src_backend_parser_gram.c +33890 -31262
  408. data/ext/pg_query/src_backend_parser_parser.c +26 -7
  409. data/ext/pg_query/src_backend_parser_scan.c +644 -441
  410. data/ext/pg_query/src_backend_parser_scansup.c +4 -28
  411. data/ext/pg_query/src_backend_postmaster_postmaster.c +77 -106
  412. data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
  413. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +5 -4
  414. data/ext/pg_query/src_backend_tcop_postgres.c +73 -24
  415. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
  416. data/ext/pg_query/src_backend_utils_adt_datum.c +13 -1
  417. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  418. data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
  419. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +109 -15
  420. data/ext/pg_query/src_backend_utils_error_assert.c +16 -14
  421. data/ext/pg_query/src_backend_utils_error_elog.c +172 -99
  422. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +12 -17
  423. data/ext/pg_query/src_backend_utils_hash_dynahash.c +40 -10
  424. data/ext/pg_query/src_backend_utils_init_globals.c +5 -5
  425. data/ext/pg_query/src_backend_utils_mb_mbutils.c +55 -66
  426. data/ext/pg_query/src_backend_utils_misc_guc.c +207 -45
  427. data/ext/pg_query/src_backend_utils_mmgr_aset.c +7 -5
  428. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +123 -35
  429. data/ext/pg_query/src_common_encnames.c +1 -1
  430. data/ext/pg_query/src_common_hashfn.c +3 -3
  431. data/ext/pg_query/src_common_keywords.c +15 -2
  432. data/ext/pg_query/src_common_kwlist_d.h +517 -494
  433. data/ext/pg_query/src_common_kwlookup.c +1 -1
  434. data/ext/pg_query/src_common_pg_prng.c +152 -0
  435. data/ext/pg_query/src_common_psprintf.c +1 -1
  436. data/ext/pg_query/src_common_string.c +7 -1
  437. data/ext/pg_query/src_common_stringinfo.c +1 -1
  438. data/ext/pg_query/src_common_wchar.c +712 -109
  439. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
  440. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
  441. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1235 -1261
  442. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  443. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
  444. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
  445. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +54 -56
  446. data/ext/pg_query/src_port_pg_bitutils.c +41 -52
  447. data/ext/pg_query/src_port_pgsleep.c +1 -1
  448. data/ext/pg_query/src_port_pgstrcasecmp.c +1 -1
  449. data/ext/pg_query/src_port_qsort.c +12 -224
  450. data/ext/pg_query/src_port_snprintf.c +46 -20
  451. data/ext/pg_query/src_port_strerror.c +9 -19
  452. data/ext/pg_query/src_port_strnlen.c +1 -1
  453. data/lib/pg_query/deparse.rb +7 -1
  454. data/lib/pg_query/filter_columns.rb +6 -4
  455. data/lib/pg_query/fingerprint.rb +18 -3
  456. data/lib/pg_query/node.rb +2 -2
  457. data/lib/pg_query/param_refs.rb +1 -1
  458. data/lib/pg_query/parse.rb +87 -51
  459. data/lib/pg_query/pg_query_pb.rb +1109 -942
  460. data/lib/pg_query/treewalker.rb +6 -0
  461. data/lib/pg_query/truncate.rb +54 -8
  462. data/lib/pg_query/version.rb +1 -1
  463. metadata +29 -18
  464. data/ext/pg_query/include/access/xloginsert.h +0 -64
  465. data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
  466. data/ext/pg_query/include/parser/parse_clause.h +0 -54
  467. data/ext/pg_query/include/parser/parse_collate.h +0 -27
  468. data/ext/pg_query/include/parser/parse_target.h +0 -46
  469. data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -651
  470. data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
  471. data/ext/pg_query/src_port_erand48.c +0 -127
  472. data/ext/pg_query/src_port_random.c +0 -31
@@ -43,8 +43,7 @@
43
43
  *--------------------------------------------------------------------
44
44
  */
45
45
 
46
- #line 2 "scan.c"
47
- #line 2 "scan.l"
46
+ #line 1 "scan.c"
48
47
  /*-------------------------------------------------------------------------
49
48
  *
50
49
  * scan.l
@@ -68,7 +67,7 @@
68
67
  * Postgres 9.2, this check is made automatically by the Makefile.)
69
68
  *
70
69
  *
71
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
70
+ * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
72
71
  * Portions Copyright (c) 1994, Regents of the University of California
73
72
  *
74
73
  * IDENTIFICATION
@@ -85,11 +84,10 @@
85
84
  #include "parser/gramparse.h"
86
85
  #include "parser/parser.h" /* only needed for GUC variables */
87
86
  #include "parser/scansup.h"
87
+ #include "port/pg_bitutils.h"
88
88
  #include "mb/pg_wchar.h"
89
89
 
90
-
91
-
92
- #line 48 "scan.c"
90
+ #line 45 "scan.c"
93
91
 
94
92
  #define YY_INT_ALIGNED short int
95
93
 
@@ -97,12 +95,246 @@
97
95
 
98
96
  #define FLEX_SCANNER
99
97
  #define YY_FLEX_MAJOR_VERSION 2
100
- #define YY_FLEX_MINOR_VERSION 5
101
- #define YY_FLEX_SUBMINOR_VERSION 35
98
+ #define YY_FLEX_MINOR_VERSION 6
99
+ #define YY_FLEX_SUBMINOR_VERSION 4
102
100
  #if YY_FLEX_SUBMINOR_VERSION > 0
103
101
  #define FLEX_BETA
104
102
  #endif
105
103
 
104
+ #ifdef yy_create_buffer
105
+ #define core_yy_create_buffer_ALREADY_DEFINED
106
+ #else
107
+ #define yy_create_buffer core_yy_create_buffer
108
+ #endif
109
+
110
+ #ifdef yy_delete_buffer
111
+ #define core_yy_delete_buffer_ALREADY_DEFINED
112
+ #else
113
+ #define yy_delete_buffer core_yy_delete_buffer
114
+ #endif
115
+
116
+ #ifdef yy_scan_buffer
117
+ #define core_yy_scan_buffer_ALREADY_DEFINED
118
+ #else
119
+ #define yy_scan_buffer core_yy_scan_buffer
120
+ #endif
121
+
122
+ #ifdef yy_scan_string
123
+ #define core_yy_scan_string_ALREADY_DEFINED
124
+ #else
125
+ #define yy_scan_string core_yy_scan_string
126
+ #endif
127
+
128
+ #ifdef yy_scan_bytes
129
+ #define core_yy_scan_bytes_ALREADY_DEFINED
130
+ #else
131
+ #define yy_scan_bytes core_yy_scan_bytes
132
+ #endif
133
+
134
+ #ifdef yy_init_buffer
135
+ #define core_yy_init_buffer_ALREADY_DEFINED
136
+ #else
137
+ #define yy_init_buffer core_yy_init_buffer
138
+ #endif
139
+
140
+ #ifdef yy_flush_buffer
141
+ #define core_yy_flush_buffer_ALREADY_DEFINED
142
+ #else
143
+ #define yy_flush_buffer core_yy_flush_buffer
144
+ #endif
145
+
146
+ #ifdef yy_load_buffer_state
147
+ #define core_yy_load_buffer_state_ALREADY_DEFINED
148
+ #else
149
+ #define yy_load_buffer_state core_yy_load_buffer_state
150
+ #endif
151
+
152
+ #ifdef yy_switch_to_buffer
153
+ #define core_yy_switch_to_buffer_ALREADY_DEFINED
154
+ #else
155
+ #define yy_switch_to_buffer core_yy_switch_to_buffer
156
+ #endif
157
+
158
+ #ifdef yypush_buffer_state
159
+ #define core_yypush_buffer_state_ALREADY_DEFINED
160
+ #else
161
+ #define yypush_buffer_state core_yypush_buffer_state
162
+ #endif
163
+
164
+ #ifdef yypop_buffer_state
165
+ #define core_yypop_buffer_state_ALREADY_DEFINED
166
+ #else
167
+ #define yypop_buffer_state core_yypop_buffer_state
168
+ #endif
169
+
170
+ #ifdef yyensure_buffer_stack
171
+ #define core_yyensure_buffer_stack_ALREADY_DEFINED
172
+ #else
173
+ #define yyensure_buffer_stack core_yyensure_buffer_stack
174
+ #endif
175
+
176
+ #ifdef yylex
177
+ #define core_yylex_ALREADY_DEFINED
178
+ #else
179
+ #define yylex core_yylex
180
+ #endif
181
+
182
+ #ifdef yyrestart
183
+ #define core_yyrestart_ALREADY_DEFINED
184
+ #else
185
+ #define yyrestart core_yyrestart
186
+ #endif
187
+
188
+ #ifdef yylex_init
189
+ #define core_yylex_init_ALREADY_DEFINED
190
+ #else
191
+ #define yylex_init core_yylex_init
192
+ #endif
193
+
194
+ #ifdef yylex_init_extra
195
+ #define core_yylex_init_extra_ALREADY_DEFINED
196
+ #else
197
+ #define yylex_init_extra core_yylex_init_extra
198
+ #endif
199
+
200
+ #ifdef yylex_destroy
201
+ #define core_yylex_destroy_ALREADY_DEFINED
202
+ #else
203
+ #define yylex_destroy core_yylex_destroy
204
+ #endif
205
+
206
+ #ifdef yyget_debug
207
+ #define core_yyget_debug_ALREADY_DEFINED
208
+ #else
209
+ #define yyget_debug core_yyget_debug
210
+ #endif
211
+
212
+ #ifdef yyset_debug
213
+ #define core_yyset_debug_ALREADY_DEFINED
214
+ #else
215
+ #define yyset_debug core_yyset_debug
216
+ #endif
217
+
218
+ #ifdef yyget_extra
219
+ #define core_yyget_extra_ALREADY_DEFINED
220
+ #else
221
+ #define yyget_extra core_yyget_extra
222
+ #endif
223
+
224
+ #ifdef yyset_extra
225
+ #define core_yyset_extra_ALREADY_DEFINED
226
+ #else
227
+ #define yyset_extra core_yyset_extra
228
+ #endif
229
+
230
+ #ifdef yyget_in
231
+ #define core_yyget_in_ALREADY_DEFINED
232
+ #else
233
+ #define yyget_in core_yyget_in
234
+ #endif
235
+
236
+ #ifdef yyset_in
237
+ #define core_yyset_in_ALREADY_DEFINED
238
+ #else
239
+ #define yyset_in core_yyset_in
240
+ #endif
241
+
242
+ #ifdef yyget_out
243
+ #define core_yyget_out_ALREADY_DEFINED
244
+ #else
245
+ #define yyget_out core_yyget_out
246
+ #endif
247
+
248
+ #ifdef yyset_out
249
+ #define core_yyset_out_ALREADY_DEFINED
250
+ #else
251
+ #define yyset_out core_yyset_out
252
+ #endif
253
+
254
+ #ifdef yyget_leng
255
+ #define core_yyget_leng_ALREADY_DEFINED
256
+ #else
257
+ #define yyget_leng core_yyget_leng
258
+ #endif
259
+
260
+ #ifdef yyget_text
261
+ #define core_yyget_text_ALREADY_DEFINED
262
+ #else
263
+ #define yyget_text core_yyget_text
264
+ #endif
265
+
266
+ #ifdef yyget_lineno
267
+ #define core_yyget_lineno_ALREADY_DEFINED
268
+ #else
269
+ #define yyget_lineno core_yyget_lineno
270
+ #endif
271
+
272
+ #ifdef yyset_lineno
273
+ #define core_yyset_lineno_ALREADY_DEFINED
274
+ #else
275
+ #define yyset_lineno core_yyset_lineno
276
+ #endif
277
+
278
+ #ifdef yyget_column
279
+ #define core_yyget_column_ALREADY_DEFINED
280
+ #else
281
+ #define yyget_column core_yyget_column
282
+ #endif
283
+
284
+ #ifdef yyset_column
285
+ #define core_yyset_column_ALREADY_DEFINED
286
+ #else
287
+ #define yyset_column core_yyset_column
288
+ #endif
289
+
290
+ #ifdef yywrap
291
+ #define core_yywrap_ALREADY_DEFINED
292
+ #else
293
+ #define yywrap core_yywrap
294
+ #endif
295
+
296
+ #ifdef yyget_lval
297
+ #define core_yyget_lval_ALREADY_DEFINED
298
+ #else
299
+ #define yyget_lval core_yyget_lval
300
+ #endif
301
+
302
+ #ifdef yyset_lval
303
+ #define core_yyset_lval_ALREADY_DEFINED
304
+ #else
305
+ #define yyset_lval core_yyset_lval
306
+ #endif
307
+
308
+ #ifdef yyget_lloc
309
+ #define core_yyget_lloc_ALREADY_DEFINED
310
+ #else
311
+ #define yyget_lloc core_yyget_lloc
312
+ #endif
313
+
314
+ #ifdef yyset_lloc
315
+ #define core_yyset_lloc_ALREADY_DEFINED
316
+ #else
317
+ #define yyset_lloc core_yyset_lloc
318
+ #endif
319
+
320
+ #ifdef yyalloc
321
+ #define core_yyalloc_ALREADY_DEFINED
322
+ #else
323
+ #define yyalloc core_yyalloc
324
+ #endif
325
+
326
+ #ifdef yyrealloc
327
+ #define core_yyrealloc_ALREADY_DEFINED
328
+ #else
329
+ #define yyrealloc core_yyrealloc
330
+ #endif
331
+
332
+ #ifdef yyfree
333
+ #define core_yyfree_ALREADY_DEFINED
334
+ #else
335
+ #define yyfree core_yyfree
336
+ #endif
337
+
106
338
  /* First, we deal with platform-specific or compiler-specific issues. */
107
339
 
108
340
  /* begin standard C headers. */
@@ -144,7 +376,6 @@ typedef int flex_int32_t;
144
376
  typedef unsigned char flex_uint8_t;
145
377
  typedef unsigned short int flex_uint16_t;
146
378
  typedef unsigned int flex_uint32_t;
147
- #endif /* ! C99 */
148
379
 
149
380
  /* Limits of integral types. */
150
381
  #ifndef INT8_MIN
@@ -175,38 +406,32 @@ typedef unsigned int flex_uint32_t;
175
406
  #define UINT32_MAX (4294967295U)
176
407
  #endif
177
408
 
178
- #endif /* ! FLEXINT_H */
179
-
180
- #ifdef __cplusplus
181
-
182
- /* The "const" storage-class-modifier is valid. */
183
- #define YY_USE_CONST
184
-
185
- #else /* ! __cplusplus */
409
+ #ifndef SIZE_MAX
410
+ #define SIZE_MAX (~(size_t)0)
411
+ #endif
186
412
 
187
- /* C99 requires __STDC__ to be defined as 1. */
188
- #if defined (__STDC__)
413
+ #endif /* ! C99 */
189
414
 
190
- #define YY_USE_CONST
415
+ #endif /* ! FLEXINT_H */
191
416
 
192
- #endif /* defined (__STDC__) */
193
- #endif /* ! __cplusplus */
417
+ /* begin standard C++ headers. */
194
418
 
195
- #ifdef YY_USE_CONST
419
+ /* TODO: this is always defined, so inline it */
196
420
  #define yyconst const
421
+
422
+ #if defined(__GNUC__) && __GNUC__ >= 3
423
+ #define yynoreturn __attribute__((__noreturn__))
197
424
  #else
198
- #define yyconst
425
+ #define yynoreturn
199
426
  #endif
200
427
 
201
428
  /* Returned upon end-of-file. */
202
429
  #define YY_NULL 0
203
430
 
204
- /* Promotes a possibly negative, possibly signed char to an unsigned
205
- * integer for use as an array index. If the signed char is negative,
206
- * we want to instead treat it as an 8-bit unsigned char, hence the
207
- * double cast.
431
+ /* Promotes a possibly negative, possibly signed char to an
432
+ * integer in range [0..255] for use as an array index.
208
433
  */
209
- #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
434
+ #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
210
435
 
211
436
  /* An opaque pointer. */
212
437
  #ifndef YY_TYPEDEF_YY_SCANNER_T
@@ -230,25 +455,29 @@ typedef void* yyscan_t;
230
455
  * definition of BEGIN.
231
456
  */
232
457
  #define BEGIN yyg->yy_start = 1 + 2 *
233
-
234
458
  /* Translate the current start state into a value that can be later handed
235
459
  * to BEGIN to return to the state. The YYSTATE alias is for lex
236
460
  * compatibility.
237
461
  */
238
462
  #define YY_START ((yyg->yy_start - 1) / 2)
239
463
  #define YYSTATE YY_START
240
-
241
464
  /* Action number for EOF rule of a given start state. */
242
465
  #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
243
-
244
466
  /* Special action meaning "start processing a new file". */
245
- #define YY_NEW_FILE core_yyrestart(yyin ,yyscanner )
246
-
467
+ #define YY_NEW_FILE yyrestart( yyin , yyscanner )
247
468
  #define YY_END_OF_BUFFER_CHAR 0
248
469
 
249
470
  /* Size of default input buffer. */
250
471
  #ifndef YY_BUF_SIZE
472
+ #ifdef __ia64__
473
+ /* On IA-64, the buffer size is 16k, not 8k.
474
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
475
+ * Ditto for the __ia64__ case accordingly.
476
+ */
477
+ #define YY_BUF_SIZE 32768
478
+ #else
251
479
  #define YY_BUF_SIZE 16384
480
+ #endif /* __ia64__ */
252
481
  #endif
253
482
 
254
483
  /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -268,8 +497,9 @@ typedef size_t yy_size_t;
268
497
  #define EOB_ACT_CONTINUE_SCAN 0
269
498
  #define EOB_ACT_END_OF_FILE 1
270
499
  #define EOB_ACT_LAST_MATCH 2
271
-
500
+
272
501
  #define YY_LESS_LINENO(n)
502
+ #define YY_LINENO_REWIND_TO(ptr)
273
503
 
274
504
  /* Return all but the first "n" matched characters back to the input stream. */
275
505
  #define yyless(n) \
@@ -284,7 +514,6 @@ typedef size_t yy_size_t;
284
514
  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
285
515
  } \
286
516
  while ( 0 )
287
-
288
517
  #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
289
518
 
290
519
  #ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -299,7 +528,7 @@ struct yy_buffer_state
299
528
  /* Size of input buffer in bytes, not including room for EOB
300
529
  * characters.
301
530
  */
302
- yy_size_t yy_buf_size;
531
+ int yy_buf_size;
303
532
 
304
533
  /* Number of characters read into yy_ch_buf, not including EOB
305
534
  * characters.
@@ -327,7 +556,7 @@ struct yy_buffer_state
327
556
 
328
557
  int yy_bs_lineno; /**< The line count. */
329
558
  int yy_bs_column; /**< The column count. */
330
-
559
+
331
560
  /* Whether to try to fill the input buffer when we reach the
332
561
  * end of it.
333
562
  */
@@ -344,7 +573,7 @@ struct yy_buffer_state
344
573
  * possible backing-up.
345
574
  *
346
575
  * When we actually see the EOF, we change the status to "new"
347
- * (via core_yyrestart()), so that the user can continue scanning by
576
+ * (via yyrestart()), so that the user can continue scanning by
348
577
  * just pointing yyin at a new input file.
349
578
  */
350
579
  #define YY_BUFFER_EOF_PENDING 2
@@ -361,73 +590,67 @@ struct yy_buffer_state
361
590
  #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
362
591
  ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
363
592
  : NULL)
364
-
365
593
  /* Same as previous macro, but useful when we know that the buffer stack is not
366
594
  * NULL or when we need an lvalue. For internal use only.
367
595
  */
368
596
  #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
369
597
 
370
- void core_yyrestart (FILE *input_file ,yyscan_t yyscanner );
371
- void core_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
372
- YY_BUFFER_STATE core_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
373
- void core_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
374
- void core_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
375
- void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
376
- void core_yypop_buffer_state (yyscan_t yyscanner );
377
-
378
- static void core_yyensure_buffer_stack (yyscan_t yyscanner );
379
- static void core_yy_load_buffer_state (yyscan_t yyscanner );
380
- static void core_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
598
+ void yyrestart ( FILE *input_file , yyscan_t yyscanner );
599
+ void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
600
+ YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
601
+ void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
602
+ void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
603
+ void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
604
+ void yypop_buffer_state ( yyscan_t yyscanner );
381
605
 
382
- #define YY_FLUSH_BUFFER core_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
606
+ static void yyensure_buffer_stack ( yyscan_t yyscanner );
607
+ static void yy_load_buffer_state ( yyscan_t yyscanner );
608
+ static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
609
+ #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
383
610
 
384
- YY_BUFFER_STATE core_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
385
- YY_BUFFER_STATE core_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
386
- YY_BUFFER_STATE core_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
611
+ YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
612
+ YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
613
+ YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len , yyscan_t yyscanner );
387
614
 
388
- void *core_yyalloc (yy_size_t ,yyscan_t yyscanner );
389
- void *core_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
390
- void core_yyfree (void * ,yyscan_t yyscanner );
391
-
392
- #define yy_new_buffer core_yy_create_buffer
615
+ void *yyalloc ( yy_size_t , yyscan_t yyscanner );
616
+ void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
617
+ void yyfree ( void * , yyscan_t yyscanner );
393
618
 
619
+ #define yy_new_buffer yy_create_buffer
394
620
  #define yy_set_interactive(is_interactive) \
395
621
  { \
396
622
  if ( ! YY_CURRENT_BUFFER ){ \
397
- core_yyensure_buffer_stack (yyscanner); \
623
+ yyensure_buffer_stack (yyscanner); \
398
624
  YY_CURRENT_BUFFER_LVALUE = \
399
- core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
625
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
400
626
  } \
401
627
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
402
628
  }
403
-
404
629
  #define yy_set_bol(at_bol) \
405
630
  { \
406
631
  if ( ! YY_CURRENT_BUFFER ){\
407
- core_yyensure_buffer_stack (yyscanner); \
632
+ yyensure_buffer_stack (yyscanner); \
408
633
  YY_CURRENT_BUFFER_LVALUE = \
409
- core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
634
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
410
635
  } \
411
636
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
412
637
  }
413
-
414
638
  #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
415
639
 
416
640
  /* Begin user sect3 */
417
641
 
418
- #define core_yywrap(n) 1
642
+ #define core_yywrap(yyscanner) (/*CONSTCOND*/1)
419
643
  #define YY_SKIP_YYWRAP
644
+ typedef flex_uint8_t YY_CHAR;
420
645
 
421
- typedef unsigned char YY_CHAR;
422
-
423
- typedef yyconst struct yy_trans_info *yy_state_type;
646
+ typedef const struct yy_trans_info *yy_state_type;
424
647
 
425
648
  #define yytext_ptr yytext_r
426
649
 
427
- static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
428
- static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
429
- static int yy_get_next_buffer (yyscan_t yyscanner );
430
- static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
650
+ static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
651
+ static yy_state_type yy_try_NUL_trans ( yy_state_type current_state , yyscan_t yyscanner);
652
+ static int yy_get_next_buffer ( yyscan_t yyscanner );
653
+ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
431
654
 
432
655
  /* Done after the current pattern has been matched and before the
433
656
  * corresponding action - sets up yytext.
@@ -438,15 +661,14 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
438
661
  yyg->yy_hold_char = *yy_cp; \
439
662
  *yy_cp = '\0'; \
440
663
  yyg->yy_c_buf_p = yy_cp;
441
-
442
- #define YY_NUM_RULES 66
443
- #define YY_END_OF_BUFFER 67
664
+ #define YY_NUM_RULES 65
665
+ #define YY_END_OF_BUFFER 66
444
666
  struct yy_trans_info
445
667
  {
446
668
  flex_int16_t yy_verify;
447
669
  flex_int16_t yy_nxt;
448
670
  };
449
- static yyconst struct yy_trans_info yy_transition[17678] =
671
+ static const struct yy_trans_info yy_transition[17678] =
450
672
  {
451
673
  { 0, 0 }, { 0,17422 }, { 0, 0 }, { 0,17420 }, { 1,6192 },
452
674
  { 2,6192 }, { 3,6192 }, { 4,6192 }, { 5,6192 }, { 6,6192 },
@@ -462,7 +684,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
462
684
  { 47,6665 }, { 48,6667 }, { 49,6667 }, { 50,6667 }, { 51,6667 },
463
685
  { 52,6667 }, { 53,6667 }, { 54,6667 }, { 55,6667 }, { 56,6667 },
464
686
  { 57,6667 }, { 58,6219 }, { 59,6216 }, { 60,6732 }, { 61,6743 },
465
- { 62,6810 }, { 63,6564 }, { 64,6241 }, { 65,6842 }, { 66,7099 },
687
+ { 62,6810 }, { 63,6241 }, { 64,6241 }, { 65,6842 }, { 66,7099 },
466
688
  { 67,6842 }, { 68,6842 }, { 69,7356 }, { 70,6842 }, { 71,6842 },
467
689
  { 72,6842 }, { 73,6842 }, { 74,6842 }, { 75,6842 }, { 76,6842 },
468
690
  { 77,6842 }, { 78,7613 }, { 79,6842 }, { 80,6842 }, { 81,6842 },
@@ -518,7 +740,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
518
740
  { 44,5958 }, { 45,6317 }, { 46,6336 }, { 47,6407 }, { 48,6409 },
519
741
  { 49,6409 }, { 50,6409 }, { 51,6409 }, { 52,6409 }, { 53,6409 },
520
742
  { 54,6409 }, { 55,6409 }, { 56,6409 }, { 57,6409 }, { 58,5961 },
521
- { 59,5958 }, { 60,6474 }, { 61,6485 }, { 62,6552 }, { 63,6306 },
743
+ { 59,5958 }, { 60,6474 }, { 61,6485 }, { 62,6552 }, { 63,5983 },
522
744
  { 64,5983 }, { 65,6584 }, { 66,6841 }, { 67,6584 }, { 68,6584 },
523
745
  { 69,7098 }, { 70,6584 }, { 71,6584 }, { 72,6584 }, { 73,6584 },
524
746
  { 74,6584 }, { 75,6584 }, { 76,6584 }, { 77,6584 }, { 78,7355 },
@@ -1809,18 +2031,18 @@ static yyconst struct yy_trans_info yy_transition[17678] =
1809
2031
  { 238, 335 }, { 239, 335 }, { 240, 335 }, { 241, 335 }, { 242, 335 },
1810
2032
  { 243, 335 }, { 244, 335 }, { 245, 335 }, { 246, 335 }, { 247, 335 },
1811
2033
  { 248, 335 }, { 249, 335 }, { 250, 335 }, { 251, 335 }, { 252, 335 },
1812
- { 253, 335 }, { 254, 335 }, { 255, 335 }, { 256, 335 }, { 0, 65 },
2034
+ { 253, 335 }, { 254, 335 }, { 255, 335 }, { 256, 335 }, { 0, 64 },
1813
2035
  { 0,11228 }, { 0, 1 }, { 0,11226 }, { 0, 39 }, { 0,11224 },
1814
2036
 
1815
- { 0, 0 }, { 0, 1 }, { 0,11221 }, { 0, 56 }, { 0,11219 },
2037
+ { 0, 0 }, { 0, 1 }, { 0,11221 }, { 0, 55 }, { 0,11219 },
1816
2038
  { 0, 0 }, { 9,5098 }, { 10,5098 }, { 0, 0 }, { 12,5098 },
1817
2039
  { 13,5098 }, { 9,5093 }, { 10,5093 }, { 0, 0 }, { 12,5093 },
1818
- { 13,5093 }, { 0, 14 }, { 0,11206 }, { 0, 55 }, { 0,11204 },
1819
- { 0, 0 }, { 0, 55 }, { 0,11201 }, { 0, 17 }, { 0,11199 },
2040
+ { 13,5093 }, { 0, 14 }, { 0,11206 }, { 0, 54 }, { 0,11204 },
2041
+ { 0, 0 }, { 0, 54 }, { 0,11201 }, { 0, 17 }, { 0,11199 },
1820
2042
  { 0, 0 }, { 0, 7 }, { 0,11196 }, { 0, 0 }, { 32,5098 },
1821
2043
  { 0, 7 }, { 0,11192 }, { 0, 0 }, { 0, 0 }, { 32,5093 },
1822
2044
  { 0, 41 }, { 0,11187 }, { 33,5346 }, { 0, 0 }, { 35,5346 },
1823
- { 0, 0 }, { 37,5346 }, { 38,5346 }, { 0, 56 }, { 0,11179 },
2045
+ { 0, 0 }, { 37,5346 }, { 38,5346 }, { 0, 55 }, { 0,11179 },
1824
2046
  { 0, 0 }, { 42,5346 }, { 43,5346 }, { 0, 0 }, { 45,5346 },
1825
2047
 
1826
2048
  { 0, 0 }, { 47,5346 }, { 0, 17 }, { 0,11170 }, { 0, 20 },
@@ -1835,21 +2057,21 @@ static yyconst struct yy_trans_info yy_transition[17678] =
1835
2057
  { 0, 0 }, { 34, 320 }, { 0, 0 }, { 94,5346 }, { 39, 324 },
1836
2058
 
1837
2059
  { 96,5346 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5306 },
1838
- { 61,5306 }, { 62,5306 }, { 63,5306 }, { 64,5306 }, { 0, 65 },
2060
+ { 61,5306 }, { 62,5306 }, { 63,5306 }, { 64,5306 }, { 0, 64 },
1839
2061
  { 0,11113 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1840
- { 0, 26 }, { 0,11107 }, { 0, 33 }, { 0,11105 }, { 0, 48 },
1841
- { 0,11103 }, { 0, 47 }, { 0,11101 }, { 0, 49 }, { 0,11099 },
1842
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,5346 }, { 0, 0 },
1843
- { 126,5346 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2062
+ { 0, 26 }, { 0,11107 }, { 0, 33 }, { 0,11105 }, { 0, 47 },
2063
+ { 0,11103 }, { 0, 46 }, { 0,11101 }, { 0, 48 }, { 0,11099 },
2064
+ { 0, 9 }, { 0,11097 }, { 0, 0 }, { 124,5346 }, { 0, 0 },
2065
+ { 126,5346 }, { 0, 15 }, { 0,11091 }, { 0, 13 }, { 0,11089 },
1844
2066
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,5306 }, { 0, 0 },
1845
- { 96,5306 }, { 0, 0 }, { 0, 64 }, { 0,11080 }, { 0, 9 },
1846
- { 0,11078 }, { 36, 8 }, { 0, 15 }, { 0,11075 }, { 0, 0 },
2067
+ { 96,5306 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2068
+ { 0, 0 }, { 36, 8 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1847
2069
 
1848
2070
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1849
2071
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5268 }, { 49,5268 },
1850
2072
  { 50,5268 }, { 51,5268 }, { 52,5268 }, { 53,5268 }, { 54,5268 },
1851
2073
  { 55,5268 }, { 56,5268 }, { 57,5268 }, { 124,5306 }, { 0, 0 },
1852
- { 126,5306 }, { 0, 46 }, { 0,11051 }, { 0, 13 }, { 0,11049 },
2074
+ { 126,5306 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1853
2075
  { 65,5331 }, { 66,5331 }, { 67,5331 }, { 68,5331 }, { 69,5331 },
1854
2076
  { 70,5331 }, { 71,5331 }, { 72,5331 }, { 73,5331 }, { 74,5331 },
1855
2077
  { 75,5331 }, { 76,5331 }, { 77,5331 }, { 78,5331 }, { 79,5331 },
@@ -1857,13 +2079,13 @@ static yyconst struct yy_trans_info yy_transition[17678] =
1857
2079
  { 85,5331 }, { 86,5331 }, { 87,5331 }, { 88,5331 }, { 89,5331 },
1858
2080
 
1859
2081
  { 90,5331 }, { 85,8881 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1860
- { 95,5331 }, { 63, 0 }, { 97,5331 }, { 98,5331 }, { 99,5331 },
2082
+ { 95,5331 }, { 0, 0 }, { 97,5331 }, { 98,5331 }, { 99,5331 },
1861
2083
  { 100,5331 }, { 101,5331 }, { 102,5331 }, { 103,5331 }, { 104,5331 },
1862
2084
  { 105,5331 }, { 106,5331 }, { 107,5331 }, { 108,5331 }, { 109,5331 },
1863
2085
  { 110,5331 }, { 111,5331 }, { 112,5331 }, { 113,5331 }, { 114,5331 },
1864
2086
  { 115,5331 }, { 116,5331 }, { 117,5331 }, { 118,5331 }, { 119,5331 },
1865
2087
  { 120,5331 }, { 121,5331 }, { 122,5331 }, { 117,8904 }, { 0, 0 },
1866
- { 63, -29 }, { 0, 0 }, { 0, 0 }, { 128,5331 }, { 129,5331 },
2088
+ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5331 }, { 129,5331 },
1867
2089
  { 130,5331 }, { 131,5331 }, { 132,5331 }, { 133,5331 }, { 134,5331 },
1868
2090
  { 135,5331 }, { 136,5331 }, { 137,5331 }, { 138,5331 }, { 139,5331 },
1869
2091
 
@@ -1892,13 +2114,13 @@ static yyconst struct yy_trans_info yy_transition[17678] =
1892
2114
  { 240,5331 }, { 241,5331 }, { 242,5331 }, { 243,5331 }, { 244,5331 },
1893
2115
  { 245,5331 }, { 246,5331 }, { 247,5331 }, { 248,5331 }, { 249,5331 },
1894
2116
  { 250,5331 }, { 251,5331 }, { 252,5331 }, { 253,5331 }, { 254,5331 },
1895
- { 255,5331 }, { 0, 55 }, { 0,10856 }, { 0, 45 }, { 0,10854 },
2117
+ { 255,5331 }, { 0, 54 }, { 0,10856 }, { 0, 45 }, { 0,10854 },
1896
2118
  { 0, 12 }, { 0,10852 }, { 0, 0 }, { 0, 0 }, { 0, 8 },
1897
- { 0,10848 }, { 0, 0 }, { 0, 55 }, { 0,10845 }, { 0, 5 },
2119
+ { 0,10848 }, { 0, 0 }, { 0, 54 }, { 0,10845 }, { 0, 5 },
1898
2120
  { 0,10843 }, { 0, 43 }, { 0,10841 }, { 0, 21 }, { 0,10839 },
1899
2121
  { 0, 19 }, { 0,10837 }, { 0, 18 }, { 0,10835 }, { 0, 29 },
1900
- { 0,10833 }, { 0, 35 }, { 0,10831 }, { 0, 60 }, { 0,10829 },
1901
- { 0, 0 }, { 0, 55 }, { 0,10826 }, { 0, 40 }, { 0,10824 },
2122
+ { 0,10833 }, { 0, 35 }, { 0,10831 }, { 0, 59 }, { 0,10829 },
2123
+ { 0, 0 }, { 0, 54 }, { 0,10826 }, { 0, 40 }, { 0,10824 },
1902
2124
 
1903
2125
  { 33,4983 }, { 0, 0 }, { 35,4983 }, { 34, 30 }, { 37,4983 },
1904
2126
  { 38,4983 }, { 0, 16 }, { 0,10816 }, { 39, 38 }, { 42,4983 },
@@ -1914,7 +2136,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
1914
2136
  { 53,5559 }, { 54,5559 }, { 55,5559 }, { 56,5559 }, { 57,5559 },
1915
2137
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1916
2138
  { 0, 0 }, { 94,4983 }, { 0, 0 }, { 96,4983 }, { 0, 0 },
1917
- { 0, 0 }, { 0, 0 }, { 0, 55 }, { 0,10755 }, { 0, 58 },
2139
+ { 0, 0 }, { 0, 0 }, { 0, 54 }, { 0,10755 }, { 0, 57 },
1918
2140
  { 0,10753 }, { 0, 0 }, { 94,4972 }, { 0, 0 }, { 96,4972 },
1919
2141
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1920
2142
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -1928,10 +2150,10 @@ static yyconst struct yy_trans_info yy_transition[17678] =
1928
2150
  { 47,4882 }, { 46,5513 }, { 0, 0 }, { 48,5577 }, { 49,5577 },
1929
2151
  { 50,5577 }, { 51,5577 }, { 52,5577 }, { 53,5577 }, { 54,5577 },
1930
2152
  { 55,5577 }, { 56,5577 }, { 57,5577 }, { 60,4882 }, { 61,4882 },
1931
- { 62,4882 }, { 63,4882 }, { 64,4882 }, { 0, 0 }, { 0, 55 },
2153
+ { 62,4882 }, { 63,4882 }, { 64,4882 }, { 0, 0 }, { 0, 54 },
1932
2154
  { 0,10688 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 69,5599 },
1933
2155
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1934
- { 0, 55 }, { 0,10677 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2156
+ { 0, 54 }, { 0,10677 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1935
2157
 
1936
2158
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1937
2159
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -1946,13 +2168,13 @@ static yyconst struct yy_trans_info yy_transition[17678] =
1946
2168
 
1947
2169
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1948
2170
  { 0, 0 }, { 60,4804 }, { 61,4804 }, { 62,5671 }, { 63,4804 },
1949
- { 64,4804 }, { 0, 0 }, { 0, 55 }, { 0,10610 }, { 0, 0 },
2171
+ { 64,4804 }, { 0, 0 }, { 0, 54 }, { 0,10610 }, { 0, 0 },
1950
2172
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1951
2173
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1952
2174
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,4815 },
1953
2175
  { 0, 0 }, { 96,4815 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1954
2176
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
1955
- { 94,4804 }, { 0, 0 }, { 96,4804 }, { 0, 0 }, { 0, 64 },
2177
+ { 94,4804 }, { 0, 0 }, { 96,4804 }, { 0, 0 }, { 0, 63 },
1956
2178
  { 0,10578 }, { 33,4737 }, { 0, 0 }, { 35,4737 }, { 0, 0 },
1957
2179
 
1958
2180
  { 37,4737 }, { 38,4737 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -1967,7 +2189,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
1967
2189
  { 50,5663 }, { 51,5663 }, { 52,5663 }, { 53,5663 }, { 54,5663 },
1968
2190
 
1969
2191
  { 55,5663 }, { 56,5663 }, { 57,5663 }, { 0, 0 }, { 0, 0 },
1970
- { 0, 0 }, { 0, 0 }, { 94,4737 }, { 63,-502 }, { 96,4737 },
2192
+ { 0, 0 }, { 0, 0 }, { 94,4737 }, { 0, 0 }, { 96,4737 },
1971
2193
  { 65,5663 }, { 66,5663 }, { 67,5663 }, { 68,5663 }, { 69,5663 },
1972
2194
  { 70,5663 }, { 71,5663 }, { 72,5663 }, { 73,5663 }, { 74,5663 },
1973
2195
  { 75,5663 }, { 76,5663 }, { 77,5663 }, { 78,5663 }, { 79,5663 },
@@ -2010,7 +2232,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2010
2232
  { 245,5663 }, { 246,5663 }, { 247,5663 }, { 248,5663 }, { 249,5663 },
2011
2233
  { 250,5663 }, { 251,5663 }, { 252,5663 }, { 253,5663 }, { 254,5663 },
2012
2234
 
2013
- { 255,5663 }, { 0, 64 }, { 0,10321 }, { 0, 0 }, { 0, 0 },
2235
+ { 255,5663 }, { 0, 63 }, { 0,10321 }, { 0, 0 }, { 0, 0 },
2014
2236
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2015
2237
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2016
2238
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -2018,13 +2240,13 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2018
2240
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2019
2241
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2020
2242
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,5406 }, { 0, 0 },
2021
- { 0, 0 }, { 39,-757 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2243
+ { 0, 0 }, { 39,-776 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2022
2244
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2023
2245
 
2024
2246
  { 48,5406 }, { 49,5406 }, { 50,5406 }, { 51,5406 }, { 52,5406 },
2025
2247
  { 53,5406 }, { 54,5406 }, { 55,5406 }, { 56,5406 }, { 57,5406 },
2026
2248
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2027
- { 63,-759 }, { 0, 0 }, { 65,5406 }, { 66,5406 }, { 67,5406 },
2249
+ { 0, 0 }, { 0, 0 }, { 65,5406 }, { 66,5406 }, { 67,5406 },
2028
2250
  { 68,5406 }, { 69,5406 }, { 70,5406 }, { 71,5406 }, { 72,5406 },
2029
2251
  { 73,5406 }, { 74,5406 }, { 75,5406 }, { 76,5406 }, { 77,5406 },
2030
2252
  { 78,5406 }, { 79,5406 }, { 80,5406 }, { 81,5406 }, { 82,5406 },
@@ -2066,7 +2288,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2066
2288
  { 243,5406 }, { 244,5406 }, { 245,5406 }, { 246,5406 }, { 247,5406 },
2067
2289
 
2068
2290
  { 248,5406 }, { 249,5406 }, { 250,5406 }, { 251,5406 }, { 252,5406 },
2069
- { 253,5406 }, { 254,5406 }, { 255,5406 }, { 0, 64 }, { 0,10064 },
2291
+ { 253,5406 }, { 254,5406 }, { 255,5406 }, { 0, 63 }, { 0,10064 },
2070
2292
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2071
2293
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2072
2294
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -2074,13 +2296,13 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2074
2296
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2075
2297
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2076
2298
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2077
- { 36,5149 }, { 0, 0 }, { 0, 0 }, { 39,-1011 }, { 0, 0 },
2299
+ { 36,5149 }, { 0, 0 }, { 0, 0 }, { 39,-1027 }, { 0, 0 },
2078
2300
 
2079
2301
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2080
2302
  { 0, 0 }, { 0, 0 }, { 48,5149 }, { 49,5149 }, { 50,5149 },
2081
2303
  { 51,5149 }, { 52,5149 }, { 53,5149 }, { 54,5149 }, { 55,5149 },
2082
2304
  { 56,5149 }, { 57,5149 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2083
- { 0, 0 }, { 0, 0 }, { 63,-987 }, { 0, 0 }, { 65,5149 },
2305
+ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5149 },
2084
2306
  { 66,5149 }, { 67,5149 }, { 68,5149 }, { 69,5149 }, { 70,5149 },
2085
2307
  { 71,5149 }, { 72,5149 }, { 73,5149 }, { 74,5149 }, { 75,5149 },
2086
2308
  { 76,5149 }, { 77,5149 }, { 78,5149 }, { 79,5149 }, { 80,5149 },
@@ -2123,7 +2345,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2123
2345
  { 241,5149 }, { 242,5149 }, { 243,5149 }, { 244,5149 }, { 245,5149 },
2124
2346
  { 246,5149 }, { 247,5149 }, { 248,5149 }, { 249,5149 }, { 250,5149 },
2125
2347
  { 251,5149 }, { 252,5149 }, { 253,5149 }, { 254,5149 }, { 255,5149 },
2126
- { 0, 64 }, { 0,9807 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2348
+ { 0, 63 }, { 0,9807 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2127
2349
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2128
2350
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2129
2351
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -2132,11 +2354,11 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2132
2354
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2133
2355
 
2134
2356
  { 0, 0 }, { 0, 0 }, { 36,4892 }, { 0, 0 }, { 0, 0 },
2135
- { 39,-1242 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2357
+ { 39,-1282 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2136
2358
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4892 },
2137
2359
  { 49,4892 }, { 50,4892 }, { 51,4892 }, { 52,4892 }, { 53,4892 },
2138
2360
  { 54,4892 }, { 55,4892 }, { 56,4892 }, { 57,4892 }, { 0, 0 },
2139
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 63,-1273 },
2361
+ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2140
2362
  { 0, 0 }, { 65,4892 }, { 66,4892 }, { 67,4892 }, { 68,4892 },
2141
2363
  { 69,4892 }, { 70,4892 }, { 71,4892 }, { 72,4892 }, { 73,4892 },
2142
2364
  { 74,4892 }, { 75,4892 }, { 76,4892 }, { 77,4892 }, { 78,4892 },
@@ -2179,7 +2401,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2179
2401
  { 239,4892 }, { 240,4892 }, { 241,4892 }, { 242,4892 }, { 243,4892 },
2180
2402
  { 244,4892 }, { 245,4892 }, { 246,4892 }, { 247,4892 }, { 248,4892 },
2181
2403
  { 249,4892 }, { 250,4892 }, { 251,4892 }, { 252,4892 }, { 253,4892 },
2182
- { 254,4892 }, { 255,4892 }, { 0, 64 }, { 0,9550 }, { 0, 0 },
2404
+ { 254,4892 }, { 255,4892 }, { 0, 63 }, { 0,9550 }, { 0, 0 },
2183
2405
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2184
2406
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2185
2407
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -2193,7 +2415,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2193
2415
  { 0, 0 }, { 48,4635 }, { 49,4635 }, { 50,4635 }, { 51,4635 },
2194
2416
  { 52,4635 }, { 53,4635 }, { 54,4635 }, { 55,4635 }, { 56,4635 },
2195
2417
  { 57,4635 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2196
- { 0, 0 }, { 63,-1530 }, { 0, 0 }, { 65,4635 }, { 66,4635 },
2418
+ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4635 }, { 66,4635 },
2197
2419
  { 67,4635 }, { 68,4635 }, { 69,4635 }, { 70,4635 }, { 71,4635 },
2198
2420
  { 72,4635 }, { 73,4635 }, { 74,4635 }, { 75,4635 }, { 76,4635 },
2199
2421
 
@@ -2235,7 +2457,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2235
2457
  { 237,4635 }, { 238,4635 }, { 239,4635 }, { 240,4635 }, { 241,4635 },
2236
2458
  { 242,4635 }, { 243,4635 }, { 244,4635 }, { 245,4635 }, { 246,4635 },
2237
2459
  { 247,4635 }, { 248,4635 }, { 249,4635 }, { 250,4635 }, { 251,4635 },
2238
- { 252,4635 }, { 253,4635 }, { 254,4635 }, { 255,4635 }, { 0, 64 },
2460
+ { 252,4635 }, { 253,4635 }, { 254,4635 }, { 255,4635 }, { 0, 63 },
2239
2461
  { 0,9293 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2240
2462
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2241
2463
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -2249,7 +2471,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2249
2471
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4378 }, { 49,4378 },
2250
2472
  { 50,4378 }, { 51,4378 }, { 52,4378 }, { 53,4378 }, { 54,4378 },
2251
2473
  { 55,4378 }, { 56,4378 }, { 57,4378 }, { 0, 0 }, { 0, 0 },
2252
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 63,-1787 }, { 0, 0 },
2474
+ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2253
2475
  { 65,4378 }, { 66,4378 }, { 67,4378 }, { 68,4378 }, { 69,4378 },
2254
2476
 
2255
2477
  { 70,4378 }, { 71,4378 }, { 72,4378 }, { 73,4378 }, { 74,4378 },
@@ -2987,14 +3209,14 @@ static yyconst struct yy_trans_info yy_transition[17678] =
2987
3209
  { 237,3647 }, { 238,3647 }, { 239,3647 }, { 240,3647 }, { 241,3647 },
2988
3210
  { 242,3647 }, { 243,3647 }, { 244,3647 }, { 245,3647 }, { 246,3647 },
2989
3211
  { 247,3647 }, { 248,3647 }, { 249,3647 }, { 250,3647 }, { 251,3647 },
2990
- { 252,3647 }, { 253,3647 }, { 254,3647 }, { 255,3647 }, { 0, 56 },
3212
+ { 252,3647 }, { 253,3647 }, { 254,3647 }, { 255,3647 }, { 0, 55 },
2991
3213
 
2992
3214
  { 0,5873 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2993
3215
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2994
- { 0, 54 }, { 0,5862 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3216
+ { 0, 53 }, { 0,5862 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2995
3217
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2996
3218
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
2997
- { 0, 0 }, { 0, 0 }, { 0, 57 }, { 0,5845 }, { 0, 0 },
3219
+ { 0, 0 }, { 0, 0 }, { 0, 56 }, { 0,5845 }, { 0, 0 },
2998
3220
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33, 0 }, { 0, 0 },
2999
3221
  { 35, 0 }, { 0, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 },
3000
3222
  { 0, 0 }, { 0, 0 }, { 42, 0 }, { 43, 0 }, { 33, -11 },
@@ -3122,12 +3344,12 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3122
3344
  { 247,3638 }, { 248,3638 }, { 249,3638 }, { 250,3638 }, { 251,3638 },
3123
3345
 
3124
3346
  { 252,3638 }, { 253,3638 }, { 254,3638 }, { 255,3638 }, { 256,3638 },
3125
- { 0, 59 }, { 0,5267 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3347
+ { 0, 58 }, { 0,5267 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3126
3348
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3127
3349
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3128
3350
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3129
3351
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3130
- { 0, 3 }, { 0,5242 }, { 0, 59 }, { 0,5240 }, { 0, 0 },
3352
+ { 0, 3 }, { 0,5242 }, { 0, 58 }, { 0,5240 }, { 0, 0 },
3131
3353
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3132
3354
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3133
3355
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -3141,12 +3363,12 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3141
3363
  { 0, 0 }, { 48,3871 }, { 49,3871 }, { 50,3871 }, { 51,3871 },
3142
3364
  { 52,3871 }, { 53,3871 }, { 54,3871 }, { 55,3871 }, { 56,3871 },
3143
3365
  { 57,3871 }, { 60,3871 }, { 61,3871 }, { 62,3871 }, { 63,3871 },
3144
- { 64,3871 }, { 0, 58 }, { 0,5176 }, { 0, 0 }, { 0, 0 },
3366
+ { 64,3871 }, { 0, 57 }, { 0,5176 }, { 0, 0 }, { 0, 0 },
3145
3367
 
3146
3368
  { 0, 0 }, { 0, 0 }, { 69, 86 }, { 0, 0 }, { 0, 0 },
3147
3369
  { 0, 0 }, { 0, 0 }, { 101, 113 }, { 0, 0 }, { 0, 0 },
3148
3370
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3149
- { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 62 }, { 0,5154 },
3371
+ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 61 }, { 0,5154 },
3150
3372
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3151
3373
  { 94,3871 }, { 0, 0 }, { 96,3871 }, { 0, 0 }, { 0, 0 },
3152
3374
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 101, 86 },
@@ -3155,7 +3377,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3155
3377
  { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 },
3156
3378
 
3157
3379
  { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 },
3158
- { 124,3871 }, { 0, 0 }, { 126,3871 }, { 0, 51 }, { 0,5114 },
3380
+ { 124,3871 }, { 0, 0 }, { 126,3871 }, { 0, 50 }, { 0,5114 },
3159
3381
  { 0, 0 }, { 0, 0 }, { 43,3807 }, { 0, 0 }, { 45,3807 },
3160
3382
  { 0, 0 }, { 69, 22 }, { 48,3849 }, { 49,3849 }, { 50,3849 },
3161
3383
  { 51,3849 }, { 52,3849 }, { 53,3849 }, { 54,3849 }, { 55,3849 },
@@ -3163,7 +3385,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3163
3385
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3164
3386
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3165
3387
  { 0, 0 }, { 0, 0 }, { 33,-759 }, { 0, 0 }, { 35,-759 },
3166
- { 0, 0 }, { 37,-759 }, { 38,-759 }, { 101, 22 }, { 0, 53 },
3388
+ { 0, 0 }, { 37,-759 }, { 38,-759 }, { 101, 22 }, { 0, 52 },
3167
3389
 
3168
3390
  { 0,5073 }, { 42,-759 }, { 43,-759 }, { 0, 0 }, { 45,-759 },
3169
3391
  { 0, 0 }, { 47,-759 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
@@ -3179,9 +3401,9 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3179
3401
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,-759 }, { 0, 0 },
3180
3402
  { 96,-759 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3181
3403
  { 60,-800 }, { 61,-800 }, { 62,-800 }, { 63,-800 }, { 64,-800 },
3182
- { 0, 0 }, { 0, 50 }, { 0,5006 }, { 0, 0 }, { 0, 0 },
3404
+ { 0, 0 }, { 0, 49 }, { 0,5006 }, { 0, 0 }, { 0, 0 },
3183
3405
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3184
- { 0, 0 }, { 0, 0 }, { 0, 52 }, { 0,4995 }, { 0, 0 },
3406
+ { 0, 0 }, { 0, 0 }, { 0, 51 }, { 0,4995 }, { 0, 0 },
3185
3407
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,-759 }, { 0, 0 },
3186
3408
  { 126,-759 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3187
3409
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,-800 },
@@ -3199,7 +3421,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3199
3421
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3200
3422
 
3201
3423
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3202
- { 0, 0 }, { 0, 0 }, { 0, 64 }, { 0,4915 }, { 0, 0 },
3424
+ { 0, 0 }, { 0, 0 }, { 0, 63 }, { 0,4915 }, { 0, 0 },
3203
3425
  { 0, 0 }, { 94,-867 }, { 0, 0 }, { 96,-867 }, { 0, 0 },
3204
3426
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3205
3427
  { 0, 0 }, { 0, 0 }, { 94,-878 }, { 0, 0 }, { 96,-878 },
@@ -3213,7 +3435,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3213
3435
  { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 },
3214
3436
  { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 },
3215
3437
  { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3216
- { 0, 0 }, { 63,-6165 }, { 0, 0 }, { 65, 0 }, { 66, 0 },
3438
+ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 },
3217
3439
  { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 },
3218
3440
  { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 },
3219
3441
  { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 },
@@ -3979,12 +4201,12 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3979
4201
  { 246,-258 }, { 247,-258 }, { 248,-258 }, { 249,-258 }, { 250,-258 },
3980
4202
  { 251,-258 }, { 252,-258 }, { 253,-258 }, { 254,-258 }, { 255,-258 },
3981
4203
 
3982
- { 256,-258 }, { 0, 3 }, { 0,1371 }, { 0, 59 }, { 0,1369 },
4204
+ { 256,-258 }, { 0, 3 }, { 0,1371 }, { 0, 58 }, { 0,1369 },
3983
4205
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3984
4206
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3985
4207
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3986
4208
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3987
- { 0, 63 }, { 0,1347 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
4209
+ { 0, 62 }, { 0,1347 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3988
4210
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
3989
4211
  { 33, 0 }, { 0, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 },
3990
4212
  { 38, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42, 0 },
@@ -3993,7 +4215,7 @@ static yyconst struct yy_trans_info yy_transition[17678] =
3993
4215
  { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 },
3994
4216
  { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 },
3995
4217
  { 56, 0 }, { 57, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 },
3996
- { 63, 0 }, { 64, 0 }, { 0, 61 }, { 0,1305 }, { 0, 0 },
4218
+ { 63, 0 }, { 64, 0 }, { 0, 60 }, { 0,1305 }, { 0, 0 },
3997
4219
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 69,-3785 }, { 48, 42 },
3998
4220
  { 49, 42 }, { 50, 42 }, { 51, 42 }, { 52, 42 }, { 53, 42 },
3999
4221
  { 54, 42 }, { 55, 42 }, { 56, 42 }, { 57, 42 }, { 0, 0 },
@@ -4280,9 +4502,9 @@ static yyconst struct yy_trans_info yy_transition[17678] =
4280
4502
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
4281
4503
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
4282
4504
  { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
4283
- { 0, 0 }, { 0, 0 }, { 257, 67 }, { 1, 0 }, };
4505
+ { 0, 0 }, { 0, 0 }, { 257, 66 }, { 1, 0 }, };
4284
4506
 
4285
- static __thread yyconst struct yy_trans_info *yy_start_state_list[25] =
4507
+ static __thread const struct yy_trans_info *yy_start_state_list[25] =
4286
4508
  {
4287
4509
  &yy_transition[1],
4288
4510
  &yy_transition[3],
@@ -4322,7 +4544,7 @@ static __thread yyconst struct yy_trans_info *yy_start_state_list[25] =
4322
4544
  #define YY_RESTORE_YY_MORE_OFFSET
4323
4545
  #line 1 "scan.l"
4324
4546
 
4325
- #line 46 "scan.l"
4547
+ #line 47 "scan.l"
4326
4548
 
4327
4549
  /* LCOV_EXCL_START */
4328
4550
 
@@ -4356,7 +4578,7 @@ __thread bool standard_conforming_strings = true;
4356
4578
  * callers need to pass it to scanner_init, if they are using the
4357
4579
  * standard keyword list ScanKeywords.
4358
4580
  */
4359
- #define PG_KEYWORD(kwname, value, category) value,
4581
+ #define PG_KEYWORD(kwname, value, category, collabel) value,
4360
4582
 
4361
4583
  const uint16 ScanKeywordTokens[] = {
4362
4584
  #include "parser/kwlist.h"
@@ -4376,7 +4598,7 @@ const uint16 ScanKeywordTokens[] = {
4376
4598
  #define YY_EXTRA_TYPE core_yy_extra_type *
4377
4599
 
4378
4600
  /*
4379
- * Each call to core_yylex must set yylloc to the location of the found token
4601
+ * Each call to yylex must set yylloc to the location of the found token
4380
4602
  * (expressed as a byte offset from the start of the input text).
4381
4603
  * When we parse a token that requires multiple lexer rules to process,
4382
4604
  * this should be done in the first such rule, else yylloc will point
@@ -4425,6 +4647,7 @@ static void check_escape_warning(core_yyscan_t yyscanner);
4425
4647
  extern int core_yyget_column(yyscan_t yyscanner);
4426
4648
  extern void core_yyset_column(int column_no, yyscan_t yyscanner);
4427
4649
 
4650
+ #line 4601 "scan.c"
4428
4651
  #define YY_NO_INPUT 1
4429
4652
  /*
4430
4653
  * OK, here is a short description of lex/flex rules behavior.
@@ -4440,7 +4663,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
4440
4663
  * <xb> bit string literal
4441
4664
  * <xc> extended C-style comments
4442
4665
  * <xd> delimited identifiers (double-quoted identifiers)
4443
- * <xh> hexadecimal numeric string
4666
+ * <xh> hexadecimal byte string
4444
4667
  * <xq> standard quoted strings
4445
4668
  * <xqs> quote stop (detect continued strings)
4446
4669
  * <xe> extended quoted strings (support backslash escape sequences)
@@ -4453,16 +4676,6 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
4453
4676
  * The default one is probably not the right thing.
4454
4677
  */
4455
4678
 
4456
-
4457
-
4458
-
4459
-
4460
-
4461
-
4462
-
4463
-
4464
-
4465
-
4466
4679
  /*
4467
4680
  * In order to make the world safe for Windows and Mac clients as well as
4468
4681
  * Unix ones, we accept either \n or \r as a newline. A DOS-style \r\n
@@ -4503,10 +4716,9 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
4503
4716
  * Better to pass the string forward and let the input routines
4504
4717
  * validate the contents.
4505
4718
  */
4506
- /* Hexadecimal number */
4719
+ /* Hexadecimal byte string */
4507
4720
  /* National character */
4508
4721
  /* Quoted string that allows backslash escapes */
4509
- /* Normalized escaped string */
4510
4722
  /* Extended quote
4511
4723
  * xqdouble implements embedded quote, ''''
4512
4724
  */
@@ -4562,9 +4774,11 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
4562
4774
  * If you change either set, adjust the character lists appearing in the
4563
4775
  * rule for "operator"!
4564
4776
  */
4565
- /* we no longer allow unary minus in numbers.
4566
- * instead we pass it separately to parser. there it gets
4567
- * coerced via doNegate() -- Leon aug 20 1999
4777
+ /*
4778
+ * Numbers
4779
+ *
4780
+ * Unary minus is not part of a number here. Instead we pass it separately to
4781
+ * the parser, and there it gets coerced via doNegate().
4568
4782
  *
4569
4783
  * {decimalfail} is used because we would like "1..10" to lex as 1, dot_dot, 10.
4570
4784
  *
@@ -4583,7 +4797,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
4583
4797
  * Note that xcstart must appear before operator, as explained above!
4584
4798
  * Also whitespace (comment) must appear before operator.
4585
4799
  */
4586
- #line 4538 "scan.c"
4800
+ #line 4751 "scan.c"
4587
4801
 
4588
4802
  #define INITIAL 0
4589
4803
  #define xb 1
@@ -4648,7 +4862,7 @@ struct yyguts_t
4648
4862
 
4649
4863
  }; /* end struct yyguts_t */
4650
4864
 
4651
- static int yy_init_globals (yyscan_t yyscanner );
4865
+ static int yy_init_globals ( yyscan_t yyscanner );
4652
4866
 
4653
4867
  /* This must go here because YYSTYPE and YYLTYPE are included
4654
4868
  * from bison output in section 1.*/
@@ -4656,46 +4870,50 @@ static int yy_init_globals (yyscan_t yyscanner );
4656
4870
 
4657
4871
  # define yylloc yyg->yylloc_r
4658
4872
 
4659
- int core_yylex_init (yyscan_t* scanner);
4873
+ int yylex_init (yyscan_t* scanner);
4660
4874
 
4661
- int core_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
4875
+ int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
4662
4876
 
4663
4877
  /* Accessor methods to globals.
4664
4878
  These are made visible to non-reentrant scanners for convenience. */
4665
4879
 
4666
- int core_yylex_destroy (yyscan_t yyscanner );
4880
+ int yylex_destroy ( yyscan_t yyscanner );
4881
+
4882
+ int yyget_debug ( yyscan_t yyscanner );
4667
4883
 
4668
- int core_yyget_debug (yyscan_t yyscanner );
4884
+ void yyset_debug ( int debug_flag , yyscan_t yyscanner );
4669
4885
 
4670
- void core_yyset_debug (int debug_flag ,yyscan_t yyscanner );
4886
+ YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
4671
4887
 
4672
- YY_EXTRA_TYPE core_yyget_extra (yyscan_t yyscanner );
4888
+ void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
4673
4889
 
4674
- void core_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
4890
+ FILE *yyget_in ( yyscan_t yyscanner );
4675
4891
 
4676
- FILE *core_yyget_in (yyscan_t yyscanner );
4892
+ void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
4677
4893
 
4678
- void core_yyset_in (FILE * in_str ,yyscan_t yyscanner );
4894
+ FILE *yyget_out ( yyscan_t yyscanner );
4679
4895
 
4680
- FILE *core_yyget_out (yyscan_t yyscanner );
4896
+ void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
4681
4897
 
4682
- void core_yyset_out (FILE * out_str ,yyscan_t yyscanner );
4898
+ yy_size_t yyget_leng ( yyscan_t yyscanner );
4683
4899
 
4684
- yy_size_t core_yyget_leng (yyscan_t yyscanner );
4900
+ char *yyget_text ( yyscan_t yyscanner );
4685
4901
 
4686
- char *core_yyget_text (yyscan_t yyscanner );
4902
+ int yyget_lineno ( yyscan_t yyscanner );
4687
4903
 
4688
- int core_yyget_lineno (yyscan_t yyscanner );
4904
+ void yyset_lineno ( int _line_number , yyscan_t yyscanner );
4689
4905
 
4690
- void core_yyset_lineno (int line_number ,yyscan_t yyscanner );
4906
+ int yyget_column ( yyscan_t yyscanner );
4691
4907
 
4692
- YYSTYPE * core_yyget_lval (yyscan_t yyscanner );
4908
+ void yyset_column ( int _column_no , yyscan_t yyscanner );
4693
4909
 
4694
- void core_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
4910
+ YYSTYPE * yyget_lval ( yyscan_t yyscanner );
4695
4911
 
4696
- YYLTYPE *core_yyget_lloc (yyscan_t yyscanner );
4912
+ void yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
4913
+
4914
+ YYLTYPE *yyget_lloc ( yyscan_t yyscanner );
4697
4915
 
4698
- void core_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
4916
+ void yyset_lloc ( YYLTYPE * yylloc_param , yyscan_t yyscanner );
4699
4917
 
4700
4918
  /* Macros after this point can all be overridden by user definitions in
4701
4919
  * section 1.
@@ -4703,33 +4921,41 @@ void core_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
4703
4921
 
4704
4922
  #ifndef YY_SKIP_YYWRAP
4705
4923
  #ifdef __cplusplus
4706
- extern "C" int core_yywrap (yyscan_t yyscanner );
4924
+ extern "C" int yywrap ( yyscan_t yyscanner );
4707
4925
  #else
4708
- extern int core_yywrap (yyscan_t yyscanner );
4926
+ extern int yywrap ( yyscan_t yyscanner );
4927
+ #endif
4709
4928
  #endif
4929
+
4930
+ #ifndef YY_NO_UNPUT
4931
+
4710
4932
  #endif
4711
4933
 
4712
4934
  #ifndef yytext_ptr
4713
- static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
4935
+ static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
4714
4936
  #endif
4715
4937
 
4716
4938
  #ifdef YY_NEED_STRLEN
4717
- static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
4939
+ static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
4718
4940
  #endif
4719
4941
 
4720
4942
  #ifndef YY_NO_INPUT
4721
-
4722
4943
  #ifdef __cplusplus
4723
- static int yyinput (yyscan_t yyscanner );
4944
+ static int yyinput ( yyscan_t yyscanner );
4724
4945
  #else
4725
- static int input (yyscan_t yyscanner );
4946
+ static int input ( yyscan_t yyscanner );
4726
4947
  #endif
4727
4948
 
4728
4949
  #endif
4729
4950
 
4730
4951
  /* Amount of stuff to slurp up with each read. */
4731
4952
  #ifndef YY_READ_BUF_SIZE
4953
+ #ifdef __ia64__
4954
+ /* On IA-64, the buffer size is 16k, not 8k */
4955
+ #define YY_READ_BUF_SIZE 16384
4956
+ #else
4732
4957
  #define YY_READ_BUF_SIZE 8192
4958
+ #endif /* __ia64__ */
4733
4959
  #endif
4734
4960
 
4735
4961
  /* Copy whatever the last rule matched to the standard output. */
@@ -4737,7 +4963,7 @@ static int input (yyscan_t yyscanner );
4737
4963
  /* This used to be an fputs(), but since the string might contain NUL's,
4738
4964
  * we now use fwrite().
4739
4965
  */
4740
- #define ECHO fwrite( yytext, yyleng, 1, yyout )
4966
+ #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
4741
4967
  #endif
4742
4968
 
4743
4969
  /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -4761,7 +4987,7 @@ static int input (yyscan_t yyscanner );
4761
4987
  else \
4762
4988
  { \
4763
4989
  errno=0; \
4764
- while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
4990
+ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
4765
4991
  { \
4766
4992
  if( errno != EINTR) \
4767
4993
  { \
@@ -4802,10 +5028,10 @@ static int input (yyscan_t yyscanner );
4802
5028
  #ifndef YY_DECL
4803
5029
  #define YY_DECL_IS_OURS 1
4804
5030
 
4805
- extern int core_yylex \
4806
- (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
5031
+ extern int yylex \
5032
+ (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner);
4807
5033
 
4808
- #define YY_DECL int core_yylex \
5034
+ #define YY_DECL int yylex \
4809
5035
  (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
4810
5036
  #endif /* !YY_DECL */
4811
5037
 
@@ -4818,7 +5044,7 @@ extern int core_yylex \
4818
5044
 
4819
5045
  /* Code executed at the end of each rule. */
4820
5046
  #ifndef YY_BREAK
4821
- #define YY_BREAK break;
5047
+ #define YY_BREAK /*LINTED*/break;
4822
5048
  #endif
4823
5049
 
4824
5050
  #define YY_RULE_SETUP \
@@ -4828,16 +5054,11 @@ extern int core_yylex \
4828
5054
  */
4829
5055
  YY_DECL
4830
5056
  {
4831
- register yy_state_type yy_current_state;
4832
- register char *yy_cp, *yy_bp;
4833
- register int yy_act;
5057
+ yy_state_type yy_current_state;
5058
+ char *yy_cp, *yy_bp;
5059
+ int yy_act;
4834
5060
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4835
5061
 
4836
- #line 420 "scan.l"
4837
-
4838
-
4839
- #line 4791 "scan.c"
4840
-
4841
5062
  yylval = yylval_param;
4842
5063
 
4843
5064
  yylloc = yylloc_param;
@@ -4860,15 +5081,21 @@ YY_DECL
4860
5081
  yyout = stdout;
4861
5082
 
4862
5083
  if ( ! YY_CURRENT_BUFFER ) {
4863
- core_yyensure_buffer_stack (yyscanner);
5084
+ yyensure_buffer_stack (yyscanner);
4864
5085
  YY_CURRENT_BUFFER_LVALUE =
4865
- core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
5086
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
4866
5087
  }
4867
5088
 
4868
- core_yy_load_buffer_state(yyscanner );
5089
+ yy_load_buffer_state( yyscanner );
4869
5090
  }
4870
5091
 
4871
- while ( 1 ) /* loops until end-of-file is reached */
5092
+ {
5093
+ #line 419 "scan.l"
5094
+
5095
+
5096
+ #line 5047 "scan.c"
5097
+
5098
+ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
4872
5099
  {
4873
5100
  yy_cp = yyg->yy_c_buf_p;
4874
5101
 
@@ -4883,12 +5110,12 @@ YY_DECL
4883
5110
  yy_current_state = yy_start_state_list[yyg->yy_start];
4884
5111
  yy_match:
4885
5112
  {
4886
- register yyconst struct yy_trans_info *yy_trans_info;
5113
+ const struct yy_trans_info *yy_trans_info;
4887
5114
 
4888
- register YY_CHAR yy_c;
5115
+ YY_CHAR yy_c;
4889
5116
 
4890
5117
  for ( yy_c = YY_SC_TO_UI(*yy_cp);
4891
- (yy_trans_info = &yy_current_state[(unsigned int) yy_c])->
5118
+ (yy_trans_info = &yy_current_state[yy_c])->
4892
5119
  yy_verify == yy_c;
4893
5120
  yy_c = YY_SC_TO_UI(*++yy_cp) )
4894
5121
  yy_current_state += yy_trans_info->yy_nxt;
@@ -4906,14 +5133,14 @@ do_action: /* This label is used only to access EOF actions. */
4906
5133
  case 1:
4907
5134
  /* rule 1 can match eol */
4908
5135
  YY_RULE_SETUP
4909
- #line 422 "scan.l"
5136
+ #line 421 "scan.l"
4910
5137
  {
4911
5138
  /* ignore */
4912
5139
  }
4913
5140
  YY_BREAK
4914
5141
  case 2:
4915
5142
  YY_RULE_SETUP
4916
- #line 426 "scan.l"
5143
+ #line 425 "scan.l"
4917
5144
  {
4918
5145
  SET_YYLLOC();
4919
5146
  return SQL_COMMENT;
@@ -4921,7 +5148,7 @@ YY_RULE_SETUP
4921
5148
  YY_BREAK
4922
5149
  case 3:
4923
5150
  YY_RULE_SETUP
4924
- #line 431 "scan.l"
5151
+ #line 430 "scan.l"
4925
5152
  {
4926
5153
  /* Set location in case of syntax error in comment */
4927
5154
  SET_YYLLOC();
@@ -4934,7 +5161,7 @@ YY_RULE_SETUP
4934
5161
 
4935
5162
  case 4:
4936
5163
  YY_RULE_SETUP
4937
- #line 441 "scan.l"
5164
+ #line 440 "scan.l"
4938
5165
  {
4939
5166
  (yyextra->xcdepth)++;
4940
5167
  /* Put back any characters past slash-star; see above */
@@ -4943,7 +5170,7 @@ YY_RULE_SETUP
4943
5170
  YY_BREAK
4944
5171
  case 5:
4945
5172
  YY_RULE_SETUP
4946
- #line 447 "scan.l"
5173
+ #line 446 "scan.l"
4947
5174
  {
4948
5175
  if (yyextra->xcdepth <= 0)
4949
5176
  {
@@ -4958,27 +5185,27 @@ YY_RULE_SETUP
4958
5185
  case 6:
4959
5186
  /* rule 6 can match eol */
4960
5187
  YY_RULE_SETUP
4961
- #line 458 "scan.l"
5188
+ #line 457 "scan.l"
4962
5189
  {
4963
5190
  /* ignore */
4964
5191
  }
4965
5192
  YY_BREAK
4966
5193
  case 7:
4967
5194
  YY_RULE_SETUP
4968
- #line 462 "scan.l"
5195
+ #line 461 "scan.l"
4969
5196
  {
4970
5197
  /* ignore */
4971
5198
  }
4972
5199
  YY_BREAK
4973
5200
  case 8:
4974
5201
  YY_RULE_SETUP
4975
- #line 466 "scan.l"
5202
+ #line 465 "scan.l"
4976
5203
  {
4977
5204
  /* ignore */
4978
5205
  }
4979
5206
  YY_BREAK
4980
5207
  case YY_STATE_EOF(xc):
4981
- #line 470 "scan.l"
5208
+ #line 469 "scan.l"
4982
5209
  {
4983
5210
  yyerror("unterminated /* comment");
4984
5211
  }
@@ -4986,7 +5213,7 @@ case YY_STATE_EOF(xc):
4986
5213
  /* <xc> */
4987
5214
  case 9:
4988
5215
  YY_RULE_SETUP
4989
- #line 475 "scan.l"
5216
+ #line 474 "scan.l"
4990
5217
  {
4991
5218
  /* Binary bit type.
4992
5219
  * At some point we should simply pass the string
@@ -5002,22 +5229,22 @@ YY_RULE_SETUP
5002
5229
  YY_BREAK
5003
5230
  case 10:
5004
5231
  /* rule 10 can match eol */
5005
- #line 488 "scan.l"
5232
+ #line 487 "scan.l"
5006
5233
  case 11:
5007
5234
  /* rule 11 can match eol */
5008
5235
  YY_RULE_SETUP
5009
- #line 488 "scan.l"
5236
+ #line 487 "scan.l"
5010
5237
  {
5011
5238
  addlit(yytext, yyleng, yyscanner);
5012
5239
  }
5013
5240
  YY_BREAK
5014
5241
  case YY_STATE_EOF(xb):
5015
- #line 491 "scan.l"
5242
+ #line 490 "scan.l"
5016
5243
  { yyerror("unterminated bit string literal"); }
5017
5244
  YY_BREAK
5018
5245
  case 12:
5019
5246
  YY_RULE_SETUP
5020
- #line 493 "scan.l"
5247
+ #line 492 "scan.l"
5021
5248
  {
5022
5249
  /* Hexadecimal bit type.
5023
5250
  * At some point we should simply pass the string
@@ -5032,12 +5259,12 @@ YY_RULE_SETUP
5032
5259
  }
5033
5260
  YY_BREAK
5034
5261
  case YY_STATE_EOF(xh):
5035
- #line 505 "scan.l"
5262
+ #line 504 "scan.l"
5036
5263
  { yyerror("unterminated hexadecimal string literal"); }
5037
5264
  YY_BREAK
5038
5265
  case 13:
5039
5266
  YY_RULE_SETUP
5040
- #line 507 "scan.l"
5267
+ #line 506 "scan.l"
5041
5268
  {
5042
5269
  /* National character.
5043
5270
  * We will pass this along as a normal character string,
@@ -5067,7 +5294,7 @@ YY_RULE_SETUP
5067
5294
  YY_BREAK
5068
5295
  case 14:
5069
5296
  YY_RULE_SETUP
5070
- #line 534 "scan.l"
5297
+ #line 533 "scan.l"
5071
5298
  {
5072
5299
  yyextra->warn_on_first_escape = true;
5073
5300
  yyextra->saw_non_ascii = false;
@@ -5081,7 +5308,7 @@ YY_RULE_SETUP
5081
5308
  YY_BREAK
5082
5309
  case 15:
5083
5310
  YY_RULE_SETUP
5084
- #line 544 "scan.l"
5311
+ #line 543 "scan.l"
5085
5312
  {
5086
5313
  yyextra->warn_on_first_escape = false;
5087
5314
  yyextra->saw_non_ascii = false;
@@ -5092,7 +5319,7 @@ YY_RULE_SETUP
5092
5319
  YY_BREAK
5093
5320
  case 16:
5094
5321
  YY_RULE_SETUP
5095
- #line 551 "scan.l"
5322
+ #line 550 "scan.l"
5096
5323
  {
5097
5324
  SET_YYLLOC();
5098
5325
  if (!yyextra->standard_conforming_strings)
@@ -5107,7 +5334,7 @@ YY_RULE_SETUP
5107
5334
  YY_BREAK
5108
5335
  case 17:
5109
5336
  YY_RULE_SETUP
5110
- #line 563 "scan.l"
5337
+ #line 562 "scan.l"
5111
5338
  {
5112
5339
  /*
5113
5340
  * When we are scanning a quoted string and see an end
@@ -5124,7 +5351,7 @@ YY_RULE_SETUP
5124
5351
  case 18:
5125
5352
  /* rule 18 can match eol */
5126
5353
  YY_RULE_SETUP
5127
- #line 575 "scan.l"
5354
+ #line 574 "scan.l"
5128
5355
  {
5129
5356
  /*
5130
5357
  * Found a quote continuation, so return to the in-quote
@@ -5136,12 +5363,13 @@ YY_RULE_SETUP
5136
5363
  YY_BREAK
5137
5364
  case 19:
5138
5365
  /* rule 19 can match eol */
5139
- #line 584 "scan.l"
5366
+ #line 583 "scan.l"
5140
5367
  case 20:
5141
5368
  /* rule 20 can match eol */
5142
- #line 585 "scan.l"
5369
+ #line 584 "scan.l"
5370
+ YY_RULE_SETUP
5143
5371
  case YY_STATE_EOF(xqs):
5144
- #line 585 "scan.l"
5372
+ #line 584 "scan.l"
5145
5373
  {
5146
5374
  /*
5147
5375
  * Failed to see a quote continuation. Throw back
@@ -5185,7 +5413,7 @@ case YY_STATE_EOF(xqs):
5185
5413
  YY_BREAK
5186
5414
  case 21:
5187
5415
  YY_RULE_SETUP
5188
- #line 626 "scan.l"
5416
+ #line 625 "scan.l"
5189
5417
  {
5190
5418
  addlitchar('\'', yyscanner);
5191
5419
  }
@@ -5193,7 +5421,7 @@ YY_RULE_SETUP
5193
5421
  case 22:
5194
5422
  /* rule 22 can match eol */
5195
5423
  YY_RULE_SETUP
5196
- #line 629 "scan.l"
5424
+ #line 628 "scan.l"
5197
5425
  {
5198
5426
  addlit(yytext, yyleng, yyscanner);
5199
5427
  }
@@ -5201,14 +5429,14 @@ YY_RULE_SETUP
5201
5429
  case 23:
5202
5430
  /* rule 23 can match eol */
5203
5431
  YY_RULE_SETUP
5204
- #line 632 "scan.l"
5432
+ #line 631 "scan.l"
5205
5433
  {
5206
5434
  addlit(yytext, yyleng, yyscanner);
5207
5435
  }
5208
5436
  YY_BREAK
5209
5437
  case 24:
5210
5438
  YY_RULE_SETUP
5211
- #line 635 "scan.l"
5439
+ #line 634 "scan.l"
5212
5440
  {
5213
5441
  pg_wchar c = strtoul(yytext + 2, NULL, 16);
5214
5442
 
@@ -5240,7 +5468,7 @@ YY_RULE_SETUP
5240
5468
  YY_BREAK
5241
5469
  case 25:
5242
5470
  YY_RULE_SETUP
5243
- #line 663 "scan.l"
5471
+ #line 662 "scan.l"
5244
5472
  {
5245
5473
  pg_wchar c = strtoul(yytext + 2, NULL, 16);
5246
5474
 
@@ -5263,12 +5491,13 @@ YY_RULE_SETUP
5263
5491
  }
5264
5492
  YY_BREAK
5265
5493
  case 26:
5266
- #line 684 "scan.l"
5494
+ #line 683 "scan.l"
5267
5495
  case 27:
5268
5496
  /* rule 27 can match eol */
5269
- #line 685 "scan.l"
5497
+ #line 684 "scan.l"
5498
+ YY_RULE_SETUP
5270
5499
  case YY_STATE_EOF(xeu):
5271
- #line 685 "scan.l"
5500
+ #line 684 "scan.l"
5272
5501
  {
5273
5502
  /* Set the error cursor to point at missing esc seq */
5274
5503
  SET_YYLLOC();
@@ -5277,7 +5506,7 @@ case YY_STATE_EOF(xeu):
5277
5506
  YY_BREAK
5278
5507
  case 28:
5279
5508
  YY_RULE_SETUP
5280
- #line 690 "scan.l"
5509
+ #line 689 "scan.l"
5281
5510
  {
5282
5511
  /* Set the error cursor to point at malformed esc seq */
5283
5512
  SET_YYLLOC();
@@ -5291,7 +5520,7 @@ YY_RULE_SETUP
5291
5520
  case 29:
5292
5521
  /* rule 29 can match eol */
5293
5522
  YY_RULE_SETUP
5294
- #line 699 "scan.l"
5523
+ #line 698 "scan.l"
5295
5524
  {
5296
5525
  if (yytext[1] == '\'')
5297
5526
  {
@@ -5311,7 +5540,7 @@ YY_RULE_SETUP
5311
5540
  YY_BREAK
5312
5541
  case 30:
5313
5542
  YY_RULE_SETUP
5314
- #line 715 "scan.l"
5543
+ #line 714 "scan.l"
5315
5544
  {
5316
5545
  unsigned char c = strtoul(yytext + 1, NULL, 8);
5317
5546
 
@@ -5323,7 +5552,7 @@ YY_RULE_SETUP
5323
5552
  YY_BREAK
5324
5553
  case 31:
5325
5554
  YY_RULE_SETUP
5326
- #line 723 "scan.l"
5555
+ #line 722 "scan.l"
5327
5556
  {
5328
5557
  unsigned char c = strtoul(yytext + 2, NULL, 16);
5329
5558
 
@@ -5335,7 +5564,7 @@ YY_RULE_SETUP
5335
5564
  YY_BREAK
5336
5565
  case 32:
5337
5566
  YY_RULE_SETUP
5338
- #line 731 "scan.l"
5567
+ #line 730 "scan.l"
5339
5568
  {
5340
5569
  /* This is only needed for \ just before EOF */
5341
5570
  addlitchar(yytext[0], yyscanner);
@@ -5344,12 +5573,12 @@ YY_RULE_SETUP
5344
5573
  case YY_STATE_EOF(xq):
5345
5574
  case YY_STATE_EOF(xe):
5346
5575
  case YY_STATE_EOF(xus):
5347
- #line 735 "scan.l"
5576
+ #line 734 "scan.l"
5348
5577
  { yyerror("unterminated quoted string"); }
5349
5578
  YY_BREAK
5350
5579
  case 33:
5351
5580
  YY_RULE_SETUP
5352
- #line 737 "scan.l"
5581
+ #line 736 "scan.l"
5353
5582
  {
5354
5583
  SET_YYLLOC();
5355
5584
  yyextra->dolqstart = pstrdup(yytext);
@@ -5359,7 +5588,7 @@ YY_RULE_SETUP
5359
5588
  YY_BREAK
5360
5589
  case 34:
5361
5590
  YY_RULE_SETUP
5362
- #line 743 "scan.l"
5591
+ #line 742 "scan.l"
5363
5592
  {
5364
5593
  SET_YYLLOC();
5365
5594
  /* throw back all but the initial "$" */
@@ -5370,7 +5599,7 @@ YY_RULE_SETUP
5370
5599
  YY_BREAK
5371
5600
  case 35:
5372
5601
  YY_RULE_SETUP
5373
- #line 750 "scan.l"
5602
+ #line 749 "scan.l"
5374
5603
  {
5375
5604
  if (strcmp(yytext, yyextra->dolqstart) == 0)
5376
5605
  {
@@ -5396,33 +5625,33 @@ YY_RULE_SETUP
5396
5625
  case 36:
5397
5626
  /* rule 36 can match eol */
5398
5627
  YY_RULE_SETUP
5399
- #line 771 "scan.l"
5628
+ #line 770 "scan.l"
5400
5629
  {
5401
5630
  addlit(yytext, yyleng, yyscanner);
5402
5631
  }
5403
5632
  YY_BREAK
5404
5633
  case 37:
5405
5634
  YY_RULE_SETUP
5406
- #line 774 "scan.l"
5635
+ #line 773 "scan.l"
5407
5636
  {
5408
5637
  addlit(yytext, yyleng, yyscanner);
5409
5638
  }
5410
5639
  YY_BREAK
5411
5640
  case 38:
5412
5641
  YY_RULE_SETUP
5413
- #line 777 "scan.l"
5642
+ #line 776 "scan.l"
5414
5643
  {
5415
5644
  /* This is only needed for $ inside the quoted text */
5416
5645
  addlitchar(yytext[0], yyscanner);
5417
5646
  }
5418
5647
  YY_BREAK
5419
5648
  case YY_STATE_EOF(xdolq):
5420
- #line 781 "scan.l"
5649
+ #line 780 "scan.l"
5421
5650
  { yyerror("unterminated dollar-quoted string"); }
5422
5651
  YY_BREAK
5423
5652
  case 39:
5424
5653
  YY_RULE_SETUP
5425
- #line 783 "scan.l"
5654
+ #line 782 "scan.l"
5426
5655
  {
5427
5656
  SET_YYLLOC();
5428
5657
  BEGIN(xd);
@@ -5431,7 +5660,7 @@ YY_RULE_SETUP
5431
5660
  YY_BREAK
5432
5661
  case 40:
5433
5662
  YY_RULE_SETUP
5434
- #line 788 "scan.l"
5663
+ #line 787 "scan.l"
5435
5664
  {
5436
5665
  SET_YYLLOC();
5437
5666
  BEGIN(xui);
@@ -5440,7 +5669,7 @@ YY_RULE_SETUP
5440
5669
  YY_BREAK
5441
5670
  case 41:
5442
5671
  YY_RULE_SETUP
5443
- #line 793 "scan.l"
5672
+ #line 792 "scan.l"
5444
5673
  {
5445
5674
  char *ident;
5446
5675
 
@@ -5457,7 +5686,7 @@ YY_RULE_SETUP
5457
5686
  YY_BREAK
5458
5687
  case 42:
5459
5688
  YY_RULE_SETUP
5460
- #line 806 "scan.l"
5689
+ #line 805 "scan.l"
5461
5690
  {
5462
5691
  BEGIN(INITIAL);
5463
5692
  if (yyextra->literallen == 0)
@@ -5470,7 +5699,7 @@ YY_RULE_SETUP
5470
5699
  YY_BREAK
5471
5700
  case 43:
5472
5701
  YY_RULE_SETUP
5473
- #line 815 "scan.l"
5702
+ #line 814 "scan.l"
5474
5703
  {
5475
5704
  addlitchar('"', yyscanner);
5476
5705
  }
@@ -5478,19 +5707,19 @@ YY_RULE_SETUP
5478
5707
  case 44:
5479
5708
  /* rule 44 can match eol */
5480
5709
  YY_RULE_SETUP
5481
- #line 818 "scan.l"
5710
+ #line 817 "scan.l"
5482
5711
  {
5483
5712
  addlit(yytext, yyleng, yyscanner);
5484
5713
  }
5485
5714
  YY_BREAK
5486
5715
  case YY_STATE_EOF(xd):
5487
5716
  case YY_STATE_EOF(xui):
5488
- #line 821 "scan.l"
5717
+ #line 820 "scan.l"
5489
5718
  { yyerror("unterminated quoted identifier"); }
5490
5719
  YY_BREAK
5491
5720
  case 45:
5492
5721
  YY_RULE_SETUP
5493
- #line 823 "scan.l"
5722
+ #line 822 "scan.l"
5494
5723
  {
5495
5724
  char *ident;
5496
5725
 
@@ -5506,58 +5735,59 @@ YY_RULE_SETUP
5506
5735
  YY_BREAK
5507
5736
  case 46:
5508
5737
  YY_RULE_SETUP
5509
- #line 836 "scan.l"
5738
+ #line 835 "scan.l"
5510
5739
  {
5511
- /* ignore E */
5512
- return yytext[1];
5740
+ SET_YYLLOC();
5741
+ return TYPECAST;
5513
5742
  }
5514
5743
  YY_BREAK
5515
5744
  case 47:
5516
5745
  YY_RULE_SETUP
5517
- #line 841 "scan.l"
5746
+ #line 840 "scan.l"
5518
5747
  {
5519
5748
  SET_YYLLOC();
5520
- return TYPECAST;
5749
+ return DOT_DOT;
5521
5750
  }
5522
5751
  YY_BREAK
5523
5752
  case 48:
5524
5753
  YY_RULE_SETUP
5525
- #line 846 "scan.l"
5754
+ #line 845 "scan.l"
5526
5755
  {
5527
5756
  SET_YYLLOC();
5528
- return DOT_DOT;
5757
+ return COLON_EQUALS;
5529
5758
  }
5530
5759
  YY_BREAK
5531
5760
  case 49:
5532
5761
  YY_RULE_SETUP
5533
- #line 851 "scan.l"
5762
+ #line 850 "scan.l"
5534
5763
  {
5535
5764
  SET_YYLLOC();
5536
- return COLON_EQUALS;
5765
+ return EQUALS_GREATER;
5537
5766
  }
5538
5767
  YY_BREAK
5539
5768
  case 50:
5540
5769
  YY_RULE_SETUP
5541
- #line 856 "scan.l"
5770
+ #line 855 "scan.l"
5542
5771
  {
5543
5772
  SET_YYLLOC();
5544
- return EQUALS_GREATER;
5773
+ return LESS_EQUALS;
5545
5774
  }
5546
5775
  YY_BREAK
5547
5776
  case 51:
5548
5777
  YY_RULE_SETUP
5549
- #line 861 "scan.l"
5778
+ #line 860 "scan.l"
5550
5779
  {
5551
5780
  SET_YYLLOC();
5552
- return LESS_EQUALS;
5781
+ return GREATER_EQUALS;
5553
5782
  }
5554
5783
  YY_BREAK
5555
5784
  case 52:
5556
5785
  YY_RULE_SETUP
5557
- #line 866 "scan.l"
5786
+ #line 865 "scan.l"
5558
5787
  {
5788
+ /* We accept both "<>" and "!=" as meaning NOT_EQUALS */
5559
5789
  SET_YYLLOC();
5560
- return GREATER_EQUALS;
5790
+ return NOT_EQUALS;
5561
5791
  }
5562
5792
  YY_BREAK
5563
5793
  case 53:
@@ -5572,23 +5802,14 @@ YY_RULE_SETUP
5572
5802
  case 54:
5573
5803
  YY_RULE_SETUP
5574
5804
  #line 877 "scan.l"
5575
- {
5576
- /* We accept both "<>" and "!=" as meaning NOT_EQUALS */
5577
- SET_YYLLOC();
5578
- return NOT_EQUALS;
5579
- }
5580
- YY_BREAK
5581
- case 55:
5582
- YY_RULE_SETUP
5583
- #line 883 "scan.l"
5584
5805
  {
5585
5806
  SET_YYLLOC();
5586
5807
  return yytext[0];
5587
5808
  }
5588
5809
  YY_BREAK
5589
- case 56:
5810
+ case 55:
5590
5811
  YY_RULE_SETUP
5591
- #line 888 "scan.l"
5812
+ #line 882 "scan.l"
5592
5813
  {
5593
5814
  /*
5594
5815
  * Check for embedded slash-star or dash-dash; those
@@ -5648,26 +5869,6 @@ YY_RULE_SETUP
5648
5869
  }
5649
5870
  }
5650
5871
 
5651
- /* We don't accept leading ? in any multi-character operators
5652
- * except for those in use by hstore, JSON and geometric operators.
5653
- *
5654
- * We don't accept contained or trailing ? in any
5655
- * multi-character operators, except for those in use by JSON operators.
5656
- *
5657
- * This is necessary in order to support normalized queries without
5658
- * spacing between ? as a substition character and a simple operator (e.g. "?=?")
5659
- */
5660
- if (yytext[0] == '?' &&
5661
- strcmp(yytext, "?|") != 0 && strcmp(yytext, "?&") != 0 &&
5662
- strcmp(yytext, "?#") != 0 && strcmp(yytext, "?-") != 0 &&
5663
- strcmp(yytext, "?-|") != 0 && strcmp(yytext, "?||") != 0)
5664
- nchars = 1;
5665
-
5666
- if (yytext[0] != '?' && strchr(yytext, '?') &&
5667
- strcmp(yytext, "@?") != 0)
5668
- /* Lex up to just before the ? character */
5669
- nchars = strchr(yytext, '?') - yytext;
5670
-
5671
5872
  SET_YYLLOC();
5672
5873
 
5673
5874
  if (nchars < yyleng)
@@ -5681,7 +5882,7 @@ YY_RULE_SETUP
5681
5882
  * that the "self" rule would have.
5682
5883
  */
5683
5884
  if (nchars == 1 &&
5684
- strchr(",()[].;:+-*/%^<>=?", yytext[0]))
5885
+ strchr(",()[].;:+-*/%^<>=", yytext[0]))
5685
5886
  return yytext[0];
5686
5887
  /*
5687
5888
  * Likewise, if what we have left is two chars, and
@@ -5717,35 +5918,35 @@ YY_RULE_SETUP
5717
5918
  return Op;
5718
5919
  }
5719
5920
  YY_BREAK
5720
- case 57:
5921
+ case 56:
5721
5922
  YY_RULE_SETUP
5722
- #line 1016 "scan.l"
5923
+ #line 990 "scan.l"
5723
5924
  {
5724
5925
  SET_YYLLOC();
5725
5926
  yylval->ival = atol(yytext + 1);
5726
5927
  return PARAM;
5727
5928
  }
5728
5929
  YY_BREAK
5729
- case 58:
5930
+ case 57:
5730
5931
  YY_RULE_SETUP
5731
- #line 1022 "scan.l"
5932
+ #line 996 "scan.l"
5732
5933
  {
5733
5934
  SET_YYLLOC();
5734
5935
  return process_integer_literal(yytext, yylval);
5735
5936
  }
5736
5937
  YY_BREAK
5737
- case 59:
5938
+ case 58:
5738
5939
  YY_RULE_SETUP
5739
- #line 1026 "scan.l"
5940
+ #line 1000 "scan.l"
5740
5941
  {
5741
5942
  SET_YYLLOC();
5742
5943
  yylval->str = pstrdup(yytext);
5743
5944
  return FCONST;
5744
5945
  }
5745
5946
  YY_BREAK
5746
- case 60:
5947
+ case 59:
5747
5948
  YY_RULE_SETUP
5748
- #line 1031 "scan.l"
5949
+ #line 1005 "scan.l"
5749
5950
  {
5750
5951
  /* throw back the .., and treat as integer */
5751
5952
  yyless(yyleng - 2);
@@ -5753,18 +5954,18 @@ YY_RULE_SETUP
5753
5954
  return process_integer_literal(yytext, yylval);
5754
5955
  }
5755
5956
  YY_BREAK
5756
- case 61:
5957
+ case 60:
5757
5958
  YY_RULE_SETUP
5758
- #line 1037 "scan.l"
5959
+ #line 1011 "scan.l"
5759
5960
  {
5760
5961
  SET_YYLLOC();
5761
5962
  yylval->str = pstrdup(yytext);
5762
5963
  return FCONST;
5763
5964
  }
5764
5965
  YY_BREAK
5765
- case 62:
5966
+ case 61:
5766
5967
  YY_RULE_SETUP
5767
- #line 1042 "scan.l"
5968
+ #line 1016 "scan.l"
5768
5969
  {
5769
5970
  /*
5770
5971
  * throw back the [Ee], and figure out whether what
@@ -5775,9 +5976,9 @@ YY_RULE_SETUP
5775
5976
  return process_integer_literal(yytext, yylval);
5776
5977
  }
5777
5978
  YY_BREAK
5778
- case 63:
5979
+ case 62:
5779
5980
  YY_RULE_SETUP
5780
- #line 1051 "scan.l"
5981
+ #line 1025 "scan.l"
5781
5982
  {
5782
5983
  /* throw back the [Ee][+-], and proceed as above */
5783
5984
  yyless(yyleng - 2);
@@ -5785,25 +5986,20 @@ YY_RULE_SETUP
5785
5986
  return process_integer_literal(yytext, yylval);
5786
5987
  }
5787
5988
  YY_BREAK
5788
- case 64:
5989
+ case 63:
5789
5990
  YY_RULE_SETUP
5790
- #line 1059 "scan.l"
5991
+ #line 1033 "scan.l"
5791
5992
  {
5792
5993
  int kwnum;
5793
5994
  char *ident;
5794
- char *keyword_text = pstrdup(yytext);
5795
5995
 
5796
5996
  SET_YYLLOC();
5797
5997
 
5798
5998
  /* Is it a keyword? */
5799
- if (yytext[yyleng - 1] == '?')
5800
- keyword_text[yyleng - 1] = '\0';
5801
- kwnum = ScanKeywordLookup(keyword_text,
5999
+ kwnum = ScanKeywordLookup(yytext,
5802
6000
  yyextra->keywordlist);
5803
6001
  if (kwnum >= 0)
5804
6002
  {
5805
- if (keyword_text[yyleng - 1] == '\0')
5806
- yyless(yyleng - 1);
5807
6003
  yylval->keyword = GetScanKeyword(kwnum,
5808
6004
  yyextra->keywordlist);
5809
6005
  return yyextra->keyword_tokens[kwnum];
@@ -5819,27 +6015,27 @@ YY_RULE_SETUP
5819
6015
  return IDENT;
5820
6016
  }
5821
6017
  YY_BREAK
5822
- case 65:
6018
+ case 64:
5823
6019
  YY_RULE_SETUP
5824
- #line 1090 "scan.l"
6020
+ #line 1059 "scan.l"
5825
6021
  {
5826
6022
  SET_YYLLOC();
5827
6023
  return yytext[0];
5828
6024
  }
5829
6025
  YY_BREAK
5830
6026
  case YY_STATE_EOF(INITIAL):
5831
- #line 1095 "scan.l"
6027
+ #line 1064 "scan.l"
5832
6028
  {
5833
6029
  SET_YYLLOC();
5834
6030
  yyterminate();
5835
6031
  }
5836
6032
  YY_BREAK
5837
- case 66:
6033
+ case 65:
5838
6034
  YY_RULE_SETUP
5839
- #line 1100 "scan.l"
6035
+ #line 1069 "scan.l"
5840
6036
  YY_FATAL_ERROR( "flex scanner jammed" );
5841
6037
  YY_BREAK
5842
- #line 5794 "scan.c"
6038
+ #line 5989 "scan.c"
5843
6039
 
5844
6040
  case YY_END_OF_BUFFER:
5845
6041
  {
@@ -5855,7 +6051,7 @@ YY_FATAL_ERROR( "flex scanner jammed" );
5855
6051
  /* We're scanning a new file or input source. It's
5856
6052
  * possible that this happened because the user
5857
6053
  * just pointed yyin at a new source and called
5858
- * core_yylex(). If so, then we have to assure
6054
+ * yylex(). If so, then we have to assure
5859
6055
  * consistency between YY_CURRENT_BUFFER and our
5860
6056
  * globals. Here is the right place to do so, because
5861
6057
  * this is the first action (other than possibly a
@@ -5915,7 +6111,7 @@ YY_FATAL_ERROR( "flex scanner jammed" );
5915
6111
  {
5916
6112
  yyg->yy_did_buffer_switch_on_eof = 0;
5917
6113
 
5918
- if ( core_yywrap(yyscanner ) )
6114
+ if ( yywrap( yyscanner ) )
5919
6115
  {
5920
6116
  /* Note: because we've taken care in
5921
6117
  * yy_get_next_buffer() to have set up
@@ -5968,7 +6164,8 @@ YY_FATAL_ERROR( "flex scanner jammed" );
5968
6164
  "fatal flex scanner internal error--no action found" );
5969
6165
  } /* end of action switch */
5970
6166
  } /* end of scanning one token */
5971
- } /* end of core_yylex */
6167
+ } /* end of user's declarations */
6168
+ } /* end of yylex */
5972
6169
 
5973
6170
  /* yy_get_next_buffer - try to read in a new buffer
5974
6171
  *
@@ -5980,9 +6177,9 @@ YY_FATAL_ERROR( "flex scanner jammed" );
5980
6177
  static int yy_get_next_buffer (yyscan_t yyscanner)
5981
6178
  {
5982
6179
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
5983
- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5984
- register char *source = yyg->yytext_ptr;
5985
- register int number_to_move, i;
6180
+ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6181
+ char *source = yyg->yytext_ptr;
6182
+ int number_to_move, i;
5986
6183
  int ret_val;
5987
6184
 
5988
6185
  if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
@@ -6011,7 +6208,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6011
6208
  /* Try to read more data. */
6012
6209
 
6013
6210
  /* First move last chars to start of buffer. */
6014
- number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
6211
+ number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
6015
6212
 
6016
6213
  for ( i = 0; i < number_to_move; ++i )
6017
6214
  *(dest++) = *(source++);
@@ -6031,7 +6228,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6031
6228
  { /* Not enough room in the buffer - grow it. */
6032
6229
 
6033
6230
  /* just a shorter name for the current buffer */
6034
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6231
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
6035
6232
 
6036
6233
  int yy_c_buf_p_offset =
6037
6234
  (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
@@ -6047,11 +6244,12 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6047
6244
 
6048
6245
  b->yy_ch_buf = (char *)
6049
6246
  /* Include room in for 2 EOB chars. */
6050
- core_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
6247
+ yyrealloc( (void *) b->yy_ch_buf,
6248
+ (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
6051
6249
  }
6052
6250
  else
6053
6251
  /* Can't grow it, we don't own it. */
6054
- b->yy_ch_buf = 0;
6252
+ b->yy_ch_buf = NULL;
6055
6253
 
6056
6254
  if ( ! b->yy_ch_buf )
6057
6255
  YY_FATAL_ERROR(
@@ -6079,7 +6277,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6079
6277
  if ( number_to_move == YY_MORE_ADJ )
6080
6278
  {
6081
6279
  ret_val = EOB_ACT_END_OF_FILE;
6082
- core_yyrestart(yyin ,yyscanner);
6280
+ yyrestart( yyin , yyscanner);
6083
6281
  }
6084
6282
 
6085
6283
  else
@@ -6093,12 +6291,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6093
6291
  else
6094
6292
  ret_val = EOB_ACT_CONTINUE_SCAN;
6095
6293
 
6096
- if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6294
+ if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6097
6295
  /* Extend the array by 50%, plus the number we really need. */
6098
6296
  yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
6099
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) core_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
6297
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
6298
+ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
6100
6299
  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6101
6300
  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6301
+ /* "- 2" to take care of EOB's */
6302
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
6102
6303
  }
6103
6304
 
6104
6305
  yyg->yy_n_chars += number_to_move;
@@ -6114,8 +6315,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6114
6315
 
6115
6316
  static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
6116
6317
  {
6117
- register yy_state_type yy_current_state;
6118
- register char *yy_cp;
6318
+ yy_state_type yy_current_state;
6319
+ char *yy_cp;
6119
6320
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6120
6321
 
6121
6322
  yy_current_state = yy_start_state_list[yyg->yy_start];
@@ -6135,20 +6336,24 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6135
6336
  */
6136
6337
  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
6137
6338
  {
6138
- register int yy_is_jam;
6339
+ int yy_is_jam;
6139
6340
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
6140
6341
 
6141
- register int yy_c = 256;
6142
- register yyconst struct yy_trans_info *yy_trans_info;
6342
+ int yy_c = 256;
6343
+ const struct yy_trans_info *yy_trans_info;
6143
6344
 
6144
6345
  yy_trans_info = &yy_current_state[(unsigned int) yy_c];
6145
6346
  yy_current_state += yy_trans_info->yy_nxt;
6146
6347
  yy_is_jam = (yy_trans_info->yy_verify != yy_c);
6147
6348
 
6148
- (void) yyg;
6349
+ (void)yyg;
6149
6350
  return yy_is_jam ? 0 : yy_current_state;
6150
6351
  }
6151
6352
 
6353
+ #ifndef YY_NO_UNPUT
6354
+
6355
+ #endif
6356
+
6152
6357
  #ifndef YY_NO_INPUT
6153
6358
  #ifdef __cplusplus
6154
6359
  static int yyinput (yyscan_t yyscanner)
@@ -6191,13 +6396,13 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6191
6396
  */
6192
6397
 
6193
6398
  /* Reset buffer status. */
6194
- core_yyrestart(yyin ,yyscanner);
6399
+ yyrestart( yyin , yyscanner);
6195
6400
 
6196
6401
  /*FALLTHROUGH*/
6197
6402
 
6198
6403
  case EOB_ACT_END_OF_FILE:
6199
6404
  {
6200
- if ( core_yywrap(yyscanner ) )
6405
+ if ( yywrap( yyscanner ) )
6201
6406
  return 0;
6202
6407
 
6203
6408
  if ( ! yyg->yy_did_buffer_switch_on_eof )
@@ -6229,34 +6434,34 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6229
6434
  * @param yyscanner The scanner object.
6230
6435
  * @note This function does not reset the start condition to @c INITIAL .
6231
6436
  */
6232
- void core_yyrestart (FILE * input_file , yyscan_t yyscanner)
6437
+ void yyrestart (FILE * input_file , yyscan_t yyscanner)
6233
6438
  {
6234
6439
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6235
6440
 
6236
6441
  if ( ! YY_CURRENT_BUFFER ){
6237
- core_yyensure_buffer_stack (yyscanner);
6442
+ yyensure_buffer_stack (yyscanner);
6238
6443
  YY_CURRENT_BUFFER_LVALUE =
6239
- core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
6444
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
6240
6445
  }
6241
6446
 
6242
- core_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
6243
- core_yy_load_buffer_state(yyscanner );
6447
+ yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
6448
+ yy_load_buffer_state( yyscanner );
6244
6449
  }
6245
6450
 
6246
6451
  /** Switch to a different input buffer.
6247
6452
  * @param new_buffer The new input buffer.
6248
6453
  * @param yyscanner The scanner object.
6249
6454
  */
6250
- void core_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
6455
+ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
6251
6456
  {
6252
6457
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6253
6458
 
6254
6459
  /* TODO. We should be able to replace this entire function body
6255
6460
  * with
6256
- * core_yypop_buffer_state();
6257
- * core_yypush_buffer_state(new_buffer);
6461
+ * yypop_buffer_state();
6462
+ * yypush_buffer_state(new_buffer);
6258
6463
  */
6259
- core_yyensure_buffer_stack (yyscanner);
6464
+ yyensure_buffer_stack (yyscanner);
6260
6465
  if ( YY_CURRENT_BUFFER == new_buffer )
6261
6466
  return;
6262
6467
 
@@ -6269,17 +6474,17 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
6269
6474
  }
6270
6475
 
6271
6476
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
6272
- core_yy_load_buffer_state(yyscanner );
6477
+ yy_load_buffer_state( yyscanner );
6273
6478
 
6274
6479
  /* We don't actually know whether we did this switch during
6275
- * EOF (core_yywrap()) processing, but the only time this flag
6276
- * is looked at is after core_yywrap() is called, so it's safe
6480
+ * EOF (yywrap()) processing, but the only time this flag
6481
+ * is looked at is after yywrap() is called, so it's safe
6277
6482
  * to go ahead and always set it.
6278
6483
  */
6279
6484
  yyg->yy_did_buffer_switch_on_eof = 1;
6280
6485
  }
6281
6486
 
6282
- static void core_yy_load_buffer_state (yyscan_t yyscanner)
6487
+ static void yy_load_buffer_state (yyscan_t yyscanner)
6283
6488
  {
6284
6489
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6285
6490
  yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
@@ -6294,32 +6499,32 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
6294
6499
  * @param yyscanner The scanner object.
6295
6500
  * @return the allocated buffer state.
6296
6501
  */
6297
- YY_BUFFER_STATE core_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
6502
+ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
6298
6503
  {
6299
6504
  YY_BUFFER_STATE b;
6300
6505
 
6301
- b = (YY_BUFFER_STATE) core_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
6506
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
6302
6507
  if ( ! b )
6303
- YY_FATAL_ERROR( "out of dynamic memory in core_yy_create_buffer()" );
6508
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6304
6509
 
6305
6510
  b->yy_buf_size = size;
6306
6511
 
6307
6512
  /* yy_ch_buf has to be 2 characters longer than the size given because
6308
6513
  * we need to put in 2 end-of-buffer characters.
6309
6514
  */
6310
- b->yy_ch_buf = (char *) core_yyalloc(b->yy_buf_size + 2 ,yyscanner );
6515
+ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
6311
6516
  if ( ! b->yy_ch_buf )
6312
- YY_FATAL_ERROR( "out of dynamic memory in core_yy_create_buffer()" );
6517
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6313
6518
 
6314
6519
  b->yy_is_our_buffer = 1;
6315
6520
 
6316
- core_yy_init_buffer(b,file ,yyscanner);
6521
+ yy_init_buffer( b, file , yyscanner);
6317
6522
 
6318
6523
  return b;
6319
6524
  }
6320
6525
 
6321
6526
  /** Destroy the buffer.
6322
- * @param b a buffer created with core_yy_create_buffer()
6527
+ * @param b a buffer created with yy_create_buffer()
6323
6528
  * @param yyscanner The scanner object.
6324
6529
  */
6325
6530
 
@@ -6327,21 +6532,21 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
6327
6532
 
6328
6533
  /* Initializes or reinitializes a buffer.
6329
6534
  * This function is sometimes called more than once on the same buffer,
6330
- * such as during a core_yyrestart() or at EOF.
6535
+ * such as during a yyrestart() or at EOF.
6331
6536
  */
6332
- static void core_yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
6537
+ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
6333
6538
 
6334
6539
  {
6335
6540
  int oerrno = errno;
6336
6541
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6337
6542
 
6338
- core_yy_flush_buffer(b ,yyscanner);
6543
+ yy_flush_buffer( b , yyscanner);
6339
6544
 
6340
6545
  b->yy_input_file = file;
6341
6546
  b->yy_fill_buffer = 1;
6342
6547
 
6343
- /* If b is the current buffer, then core_yy_init_buffer was _probably_
6344
- * called from core_yyrestart() or through yy_get_next_buffer.
6548
+ /* If b is the current buffer, then yy_init_buffer was _probably_
6549
+ * called from yyrestart() or through yy_get_next_buffer.
6345
6550
  * In that case, we don't want to reset the lineno or column.
6346
6551
  */
6347
6552
  if (b != YY_CURRENT_BUFFER){
@@ -6358,7 +6563,7 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
6358
6563
  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6359
6564
  * @param yyscanner The scanner object.
6360
6565
  */
6361
- void core_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
6566
+ void yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
6362
6567
  {
6363
6568
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6364
6569
  if ( ! b )
@@ -6379,7 +6584,7 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
6379
6584
  b->yy_buffer_status = YY_BUFFER_NEW;
6380
6585
 
6381
6586
  if ( b == YY_CURRENT_BUFFER )
6382
- core_yy_load_buffer_state(yyscanner );
6587
+ yy_load_buffer_state( yyscanner );
6383
6588
  }
6384
6589
 
6385
6590
  /** Pushes the new state onto the stack. The new state becomes
@@ -6399,7 +6604,7 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
6399
6604
  /* Allocates the stack if it does not exist.
6400
6605
  * Guarantees space for at least one push.
6401
6606
  */
6402
- static void core_yyensure_buffer_stack (yyscan_t yyscanner)
6607
+ static void yyensure_buffer_stack (yyscan_t yyscanner)
6403
6608
  {
6404
6609
  yy_size_t num_to_alloc;
6405
6610
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -6410,15 +6615,15 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
6410
6615
  * scanner will even need a stack. We use 2 instead of 1 to avoid an
6411
6616
  * immediate realloc on the next call.
6412
6617
  */
6413
- num_to_alloc = 1;
6414
- yyg->yy_buffer_stack = (struct yy_buffer_state**)core_yyalloc
6618
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
6619
+ yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
6415
6620
  (num_to_alloc * sizeof(struct yy_buffer_state*)
6416
6621
  , yyscanner);
6417
6622
  if ( ! yyg->yy_buffer_stack )
6418
- YY_FATAL_ERROR( "out of dynamic memory in core_yyensure_buffer_stack()" );
6419
-
6623
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
6624
+
6420
6625
  memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6421
-
6626
+
6422
6627
  yyg->yy_buffer_stack_max = num_to_alloc;
6423
6628
  yyg->yy_buffer_stack_top = 0;
6424
6629
  return;
@@ -6427,15 +6632,15 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
6427
6632
  if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
6428
6633
 
6429
6634
  /* Increase the buffer to prepare for a possible push. */
6430
- int grow_size = 8 /* arbitrary grow size */;
6635
+ yy_size_t grow_size = 8 /* arbitrary grow size */;
6431
6636
 
6432
6637
  num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
6433
- yyg->yy_buffer_stack = (struct yy_buffer_state**)core_yyrealloc
6638
+ yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
6434
6639
  (yyg->yy_buffer_stack,
6435
6640
  num_to_alloc * sizeof(struct yy_buffer_state*)
6436
6641
  , yyscanner);
6437
6642
  if ( ! yyg->yy_buffer_stack )
6438
- YY_FATAL_ERROR( "out of dynamic memory in core_yyensure_buffer_stack()" );
6643
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
6439
6644
 
6440
6645
  /* zero only the new slots.*/
6441
6646
  memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -6447,9 +6652,9 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
6447
6652
  * @param base the character buffer
6448
6653
  * @param size the size in bytes of the character buffer
6449
6654
  * @param yyscanner The scanner object.
6450
- * @return the newly allocated buffer state object.
6655
+ * @return the newly allocated buffer state object.
6451
6656
  */
6452
- YY_BUFFER_STATE core_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
6657
+ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
6453
6658
  {
6454
6659
  YY_BUFFER_STATE b;
6455
6660
 
@@ -6457,41 +6662,41 @@ YY_BUFFER_STATE core_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yy
6457
6662
  base[size-2] != YY_END_OF_BUFFER_CHAR ||
6458
6663
  base[size-1] != YY_END_OF_BUFFER_CHAR )
6459
6664
  /* They forgot to leave room for the EOB's. */
6460
- return 0;
6665
+ return NULL;
6461
6666
 
6462
- b = (YY_BUFFER_STATE) core_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
6667
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
6463
6668
  if ( ! b )
6464
- YY_FATAL_ERROR( "out of dynamic memory in core_yy_scan_buffer()" );
6669
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
6465
6670
 
6466
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6671
+ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
6467
6672
  b->yy_buf_pos = b->yy_ch_buf = base;
6468
6673
  b->yy_is_our_buffer = 0;
6469
- b->yy_input_file = 0;
6674
+ b->yy_input_file = NULL;
6470
6675
  b->yy_n_chars = b->yy_buf_size;
6471
6676
  b->yy_is_interactive = 0;
6472
6677
  b->yy_at_bol = 1;
6473
6678
  b->yy_fill_buffer = 0;
6474
6679
  b->yy_buffer_status = YY_BUFFER_NEW;
6475
6680
 
6476
- core_yy_switch_to_buffer(b ,yyscanner );
6681
+ yy_switch_to_buffer( b , yyscanner );
6477
6682
 
6478
6683
  return b;
6479
6684
  }
6480
6685
 
6481
- /** Setup the input buffer state to scan a string. The next call to core_yylex() will
6686
+ /** Setup the input buffer state to scan a string. The next call to yylex() will
6482
6687
  * scan from a @e copy of @a str.
6483
6688
  * @param yystr a NUL-terminated string to scan
6484
6689
  * @param yyscanner The scanner object.
6485
6690
  * @return the newly allocated buffer state object.
6486
6691
  * @note If you want to scan bytes that may contain NUL values, then use
6487
- * core_yy_scan_bytes() instead.
6692
+ * yy_scan_bytes() instead.
6488
6693
  */
6489
6694
 
6490
6695
 
6491
- /** Setup the input buffer state to scan the given bytes. The next call to core_yylex() will
6696
+ /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
6492
6697
  * scan from a @e copy of @a bytes.
6493
- * @param bytes the byte buffer to scan
6494
- * @param len the number of bytes in the buffer pointed to by @a bytes.
6698
+ * @param yybytes the byte buffer to scan
6699
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6495
6700
  * @param yyscanner The scanner object.
6496
6701
  * @return the newly allocated buffer state object.
6497
6702
  */
@@ -6501,9 +6706,11 @@ YY_BUFFER_STATE core_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yy
6501
6706
  #define YY_EXIT_FAILURE 2
6502
6707
  #endif
6503
6708
 
6504
- static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
6709
+ static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
6505
6710
  {
6506
- (void) fprintf( stderr, "%s\n", msg );
6711
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6712
+ (void)yyg;
6713
+ fprintf( stderr, "%s\n", msg );
6507
6714
  exit( YY_EXIT_FAILURE );
6508
6715
  }
6509
6716
 
@@ -6514,7 +6721,7 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
6514
6721
  do \
6515
6722
  { \
6516
6723
  /* Undo effects of setting up yytext. */ \
6517
- int yyless_macro_arg = (n); \
6724
+ yy_size_t yyless_macro_arg = (n); \
6518
6725
  YY_LESS_LINENO(yyless_macro_arg);\
6519
6726
  yytext[yyleng] = yyg->yy_hold_char; \
6520
6727
  yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
@@ -6566,29 +6773,29 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
6566
6773
  * @param user_defined The data to be associated with this scanner.
6567
6774
  * @param yyscanner The scanner object.
6568
6775
  */
6569
- void core_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
6776
+ void yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
6570
6777
  {
6571
6778
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6572
6779
  yyextra = user_defined ;
6573
6780
  }
6574
6781
 
6575
6782
  /** Set the current line number.
6576
- * @param line_number
6783
+ * @param _line_number line number
6577
6784
  * @param yyscanner The scanner object.
6578
6785
  */
6579
6786
 
6580
6787
 
6581
6788
  /** Set the current column.
6582
- * @param line_number
6789
+ * @param _column_no column number
6583
6790
  * @param yyscanner The scanner object.
6584
6791
  */
6585
6792
 
6586
6793
 
6587
6794
  /** Set the input stream. This does not discard the current
6588
6795
  * input buffer.
6589
- * @param in_str A readable stream.
6796
+ * @param _in_str A readable stream.
6590
6797
  * @param yyscanner The scanner object.
6591
- * @see core_yy_switch_to_buffer
6798
+ * @see yy_switch_to_buffer
6592
6799
  */
6593
6800
 
6594
6801
 
@@ -6610,20 +6817,18 @@ void core_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
6610
6817
 
6611
6818
  /* User-visible API */
6612
6819
 
6613
- /* core_yylex_init is special because it creates the scanner itself, so it is
6820
+ /* yylex_init is special because it creates the scanner itself, so it is
6614
6821
  * the ONLY reentrant function that doesn't take the scanner as the last argument.
6615
6822
  * That's why we explicitly handle the declaration, instead of using our macros.
6616
6823
  */
6617
-
6618
- int core_yylex_init(yyscan_t* ptr_yy_globals)
6619
-
6824
+ int yylex_init(yyscan_t* ptr_yy_globals)
6620
6825
  {
6621
6826
  if (ptr_yy_globals == NULL){
6622
6827
  errno = EINVAL;
6623
6828
  return 1;
6624
6829
  }
6625
6830
 
6626
- *ptr_yy_globals = (yyscan_t) core_yyalloc ( sizeof( struct yyguts_t ), NULL );
6831
+ *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
6627
6832
 
6628
6833
  if (*ptr_yy_globals == NULL){
6629
6834
  errno = ENOMEM;
@@ -6636,27 +6841,26 @@ int core_yylex_init(yyscan_t* ptr_yy_globals)
6636
6841
  return yy_init_globals ( *ptr_yy_globals );
6637
6842
  }
6638
6843
 
6639
- /* core_yylex_init_extra has the same functionality as core_yylex_init, but follows the
6844
+ /* yylex_init_extra has the same functionality as yylex_init, but follows the
6640
6845
  * convention of taking the scanner as the last argument. Note however, that
6641
6846
  * this is a *pointer* to a scanner, as it will be allocated by this call (and
6642
6847
  * is the reason, too, why this function also must handle its own declaration).
6643
- * The user defined value in the first argument will be available to core_yyalloc in
6848
+ * The user defined value in the first argument will be available to yyalloc in
6644
6849
  * the yyextra field.
6645
6850
  */
6646
6851
 
6647
6852
 
6648
-
6649
6853
  static int yy_init_globals (yyscan_t yyscanner)
6650
6854
  {
6651
6855
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6652
6856
  /* Initialization is the same as for the non-reentrant scanner.
6653
- * This function is called from core_yylex_destroy(), so don't allocate here.
6857
+ * This function is called from yylex_destroy(), so don't allocate here.
6654
6858
  */
6655
6859
 
6656
- yyg->yy_buffer_stack = 0;
6860
+ yyg->yy_buffer_stack = NULL;
6657
6861
  yyg->yy_buffer_stack_top = 0;
6658
6862
  yyg->yy_buffer_stack_max = 0;
6659
- yyg->yy_c_buf_p = (char *) 0;
6863
+ yyg->yy_c_buf_p = NULL;
6660
6864
  yyg->yy_init = 0;
6661
6865
  yyg->yy_start = 0;
6662
6866
 
@@ -6669,17 +6873,17 @@ static int yy_init_globals (yyscan_t yyscanner)
6669
6873
  yyin = stdin;
6670
6874
  yyout = stdout;
6671
6875
  #else
6672
- yyin = (FILE *) 0;
6673
- yyout = (FILE *) 0;
6876
+ yyin = NULL;
6877
+ yyout = NULL;
6674
6878
  #endif
6675
6879
 
6676
6880
  /* For future reference: Set errno on error, since we are called by
6677
- * core_yylex_init()
6881
+ * yylex_init()
6678
6882
  */
6679
6883
  return 0;
6680
6884
  }
6681
6885
 
6682
- /* core_yylex_destroy is for both reentrant and non-reentrant scanners. */
6886
+ /* yylex_destroy is for both reentrant and non-reentrant scanners. */
6683
6887
 
6684
6888
 
6685
6889
  /*
@@ -6687,18 +6891,21 @@ static int yy_init_globals (yyscan_t yyscanner)
6687
6891
  */
6688
6892
 
6689
6893
  #ifndef yytext_ptr
6690
- static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
6894
+ static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
6691
6895
  {
6692
- register int i;
6896
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
6897
+ (void)yyg;
6898
+
6899
+ int i;
6693
6900
  for ( i = 0; i < n; ++i )
6694
6901
  s1[i] = s2[i];
6695
6902
  }
6696
6903
  #endif
6697
6904
 
6698
6905
  #ifdef YY_NEED_STRLEN
6699
- static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
6906
+ static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
6700
6907
  {
6701
- register int n;
6908
+ int n;
6702
6909
  for ( n = 0; s[n]; ++n )
6703
6910
  ;
6704
6911
 
@@ -6708,14 +6915,13 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
6708
6915
 
6709
6916
  #define YYTABLES_NAME "yytables"
6710
6917
 
6711
- #line 1100 "scan.l"
6712
-
6918
+ #line 1069 "scan.l"
6713
6919
 
6714
6920
 
6715
6921
  /* LCOV_EXCL_STOP */
6716
6922
 
6717
6923
  /*
6718
- * Arrange access to yyextra for subroutines of the main core_yylex() function.
6924
+ * Arrange access to yyextra for subroutines of the main yylex() function.
6719
6925
  * We expect each subroutine to have a yyscanner parameter. Rather than
6720
6926
  * use the yyget_xxx functions, which might or might not get inlined by the
6721
6927
  * compiler, we cheat just a bit and cast yyscanner to the right type.
@@ -6817,7 +7023,7 @@ cancel_scanner_errposition_callback(ScannerCallbackState *scbstate)
6817
7023
  * Report a lexer or grammar error.
6818
7024
  *
6819
7025
  * The message's cursor position is whatever YYLLOC was last set to,
6820
- * ie, the start of the current token if called within core_yylex(), or the
7026
+ * ie, the start of the current token if called within yylex(), or the
6821
7027
  * most recently lexed token if called from the grammar.
6822
7028
  * This is OK for syntax error messages from the Bison parser, because Bison
6823
7029
  * parsers report error as soon as the first unparsable token is reached.
@@ -6860,8 +7066,8 @@ scanner_init(const char *str,
6860
7066
  Size slen = strlen(str);
6861
7067
  yyscan_t scanner;
6862
7068
 
6863
- if (core_yylex_init(&scanner) != 0)
6864
- elog(ERROR, "core_yylex_init() failed: %m");
7069
+ if (yylex_init(&scanner) != 0)
7070
+ elog(ERROR, "yylex_init() failed: %m");
6865
7071
 
6866
7072
  core_yyset_extra(yyext, scanner);
6867
7073
 
@@ -6879,7 +7085,7 @@ scanner_init(const char *str,
6879
7085
  yyext->scanbuflen = slen;
6880
7086
  memcpy(yyext->scanbuf, str, slen);
6881
7087
  yyext->scanbuf[slen] = yyext->scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR;
6882
- core_yy_scan_buffer(yyext->scanbuf,slen + 2,scanner);
7088
+ yy_scan_buffer(yyext->scanbuf, slen + 2, scanner);
6883
7089
 
6884
7090
  /* initialize literal buffer to a reasonable but expansible size */
6885
7091
  yyext->literalalloc = 1024;
@@ -6897,7 +7103,7 @@ void
6897
7103
  scanner_finish(core_yyscan_t yyscanner)
6898
7104
  {
6899
7105
  /*
6900
- * We don't bother to call core_yylex_destroy(), because all it would do is
7106
+ * We don't bother to call yylex_destroy(), because all it would do is
6901
7107
  * pfree a small amount of control storage. It's cheaper to leak the
6902
7108
  * storage until the parsing context is destroyed. The amount of space
6903
7109
  * involved is usually negligible compared to the output parse tree
@@ -6919,10 +7125,7 @@ addlit(char *ytext, int yleng, core_yyscan_t yyscanner)
6919
7125
  /* enlarge buffer if needed */
6920
7126
  if ((yyextra->literallen + yleng) >= yyextra->literalalloc)
6921
7127
  {
6922
- do
6923
- {
6924
- yyextra->literalalloc *= 2;
6925
- } while ((yyextra->literallen + yleng) >= yyextra->literalalloc);
7128
+ yyextra->literalalloc = pg_nextpower2_32(yyextra->literallen + yleng + 1);
6926
7129
  yyextra->literalbuf = (char *) repalloc(yyextra->literalbuf,
6927
7130
  yyextra->literalalloc);
6928
7131
  }