pg_query 2.1.0 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
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
  }