github-linguist 7.11.1 → 7.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (611) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +1123 -623
  3. data/ext/linguist/lex.linguist_yy.h +433 -66
  4. data/ext/linguist/linguist.c +5 -35
  5. data/ext/linguist/linguist.h +0 -18
  6. data/ext/linguist/tokenizer.l +83 -65
  7. data/grammars/annotation.liquidhaskell.haskell.json +1 -1835
  8. data/grammars/config.xcompose.json +1 -80
  9. data/grammars/documentation.markdown.injection.haxe.json +1 -22
  10. data/grammars/etc.json +1 -987
  11. data/grammars/file.lasso.json +1 -702
  12. data/grammars/hidden.manref.json +1 -29
  13. data/grammars/hidden.regexp.injection-shell.json +1 -28
  14. data/grammars/hint.haskell.json +1 -1762
  15. data/grammars/hint.message.haskell.json +1 -1786
  16. data/grammars/hint.type.haskell.json +1 -1759
  17. data/grammars/injections.etc.json +1 -659
  18. data/grammars/inline.prisma.json +1 -55
  19. data/grammars/markdown.hack.codeblock.json +1 -20
  20. data/grammars/markdown.haxe.codeblock.json +1 -26
  21. data/grammars/markdown.hxml.codeblock.json +1 -26
  22. data/grammars/markdown.lean.codeblock.json +1 -0
  23. data/grammars/markdown.plantuml.codeblock.json +1 -26
  24. data/grammars/objdump.x86asm.json +1 -69
  25. data/grammars/source.4dm.json +1 -1156
  26. data/grammars/source.SASLog.json +1 -18
  27. data/grammars/source.abap.json +1 -335
  28. data/grammars/source.abapcds.json +1 -0
  29. data/grammars/source.abl.json +1 -734
  30. data/grammars/source.abnf.json +1 -294
  31. data/grammars/source.actionscript.3.json +1 -1538
  32. data/grammars/source.acucobol.json +1 -13
  33. data/grammars/source.ada.json +1 -133
  34. data/grammars/source.afm.json +1 -1207
  35. data/grammars/source.agc.json +1 -87
  36. data/grammars/source.agda.json +1 -72
  37. data/grammars/source.ahk.json +1 -195
  38. data/grammars/source.al.json +1 -130
  39. data/grammars/source.alloy.json +1 -40
  40. data/grammars/source.ampl.json +1 -151
  41. data/grammars/source.angelscript.json +1 -186
  42. data/grammars/source.antlr.json +1 -295
  43. data/grammars/source.apache-config.json +1 -346
  44. data/grammars/source.apache-config.mod_perl.json +1 -65
  45. data/grammars/source.apl.json +1 -1427
  46. data/grammars/source.applescript.json +1 -1384
  47. data/grammars/source.asl.json +1 -56
  48. data/grammars/source.asn.json +1 -55
  49. data/grammars/source.asp.json +1 -151
  50. data/grammars/source.aspectj.json +1 -960
  51. data/grammars/source.assembly.json +1 -116
  52. data/grammars/source.ats.json +1 -164
  53. data/grammars/source.autoit.json +1 -167
  54. data/grammars/source.avro.json +1 -381
  55. data/grammars/source.awk.json +1 -384
  56. data/grammars/source.ballerina.json +1 -1785
  57. data/grammars/source.basic.json +1 -0
  58. data/grammars/source.batchfile.json +1 -732
  59. data/grammars/source.bdf.json +1 -425
  60. data/grammars/source.befunge.json +1 -34
  61. data/grammars/source.bf.json +1 -30
  62. data/grammars/source.bicep.json +1 -0
  63. data/grammars/source.blitzmax.json +1 -905
  64. data/grammars/source.bnf.json +1 -191
  65. data/grammars/source.boo.json +1 -448
  66. data/grammars/source.boogie.json +1 -0
  67. data/grammars/source.brightauthorproject.json +1 -24
  68. data/grammars/source.brightscript.json +1 -148
  69. data/grammars/source.bsl.json +1 -451
  70. data/grammars/source.bsv.json +1 -277
  71. data/grammars/source.c++.json +1 -436
  72. data/grammars/source.c++.qt.json +1 -29
  73. data/grammars/source.c.ec.json +1 -33
  74. data/grammars/source.c.json +1 -712
  75. data/grammars/source.c.nwscript.json +1 -0
  76. data/grammars/source.c.platform.json +1 -1115
  77. data/grammars/source.c2hs.json +1 -24
  78. data/grammars/source.cabal.json +1 -63
  79. data/grammars/source.cache.cmake.json +1 -70
  80. data/grammars/source.camlp4.ocaml.json +1 -60
  81. data/grammars/source.capnp.json +1 -88
  82. data/grammars/source.ceylon.json +1 -93
  83. data/grammars/source.cfscript.cfc.json +1 -162
  84. data/grammars/source.cfscript.json +1 -737
  85. data/grammars/source.changelogs.rpm-spec.json +1 -91
  86. data/grammars/source.chapel.json +1 -265
  87. data/grammars/source.cirru.json +1 -61
  88. data/grammars/source.clarion.json +1 -146
  89. data/grammars/source.clean.json +1 -222
  90. data/grammars/source.click.json +1 -107
  91. data/grammars/source.clips.json +1 -67
  92. data/grammars/source.clojure.json +1 -429
  93. data/grammars/source.cm.json +1 -49
  94. data/grammars/source.cmake.json +1 -173
  95. data/grammars/source.cobol.json +1 -485
  96. data/grammars/source.coffee.json +1 -1310
  97. data/grammars/source.cool.json +1 -96
  98. data/grammars/source.coq.json +1 -58
  99. data/grammars/source.crystal.json +1 -2694
  100. data/grammars/source.cs.json +1 -4323
  101. data/grammars/source.csound-document.json +1 -175
  102. data/grammars/source.csound-score.json +1 -191
  103. data/grammars/source.csound.json +1 -824
  104. data/grammars/source.css.json +1 -1859
  105. data/grammars/source.css.less.json +1 -536
  106. data/grammars/source.css.mss.json +1 -249
  107. data/grammars/source.css.postcss.sugarss.json +1 -260
  108. data/grammars/source.css.scss.json +1 -1873
  109. data/grammars/source.cuda-c++.json +1 -103
  110. data/grammars/source.curlrc.json +1 -984
  111. data/grammars/source.cwl.json +1 -103
  112. data/grammars/source.cython.json +1 -1912
  113. data/grammars/source.d.json +1 -741
  114. data/grammars/source.dart.json +1 -433
  115. data/grammars/source.data-weave.json +1 -1580
  116. data/grammars/source.desktop.json +1 -86
  117. data/grammars/source.diff.json +1 -153
  118. data/grammars/source.dircolors.json +1 -137
  119. data/grammars/source.direct-x.json +1 -135
  120. data/grammars/source.disasm.json +1 -30
  121. data/grammars/source.ditroff.desc.json +1 -411
  122. data/grammars/source.ditroff.json +1 -1280
  123. data/grammars/source.dm.json +1 -628
  124. data/grammars/source.dmf.json +1 -96
  125. data/grammars/source.dockerfile.json +1 -88
  126. data/grammars/source.dosbox-conf.json +1 -97
  127. data/grammars/source.dot.json +1 -117
  128. data/grammars/source.dylan.json +1 -212
  129. data/grammars/source.ebnf.json +1 -240
  130. data/grammars/source.editorconfig.json +1 -365
  131. data/grammars/source.eiffel.json +1 -133
  132. data/grammars/source.elixir.json +1 -965
  133. data/grammars/source.elm.json +1 -375
  134. data/grammars/source.emacs.lisp.json +1 -1301
  135. data/grammars/source.erlang.json +1 -1647
  136. data/grammars/source.essl.json +1 -37
  137. data/grammars/source.factor.json +1 -252
  138. data/grammars/source.fan.json +1 -341
  139. data/grammars/source.fancy.json +1 -245
  140. data/grammars/source.faust.json +1 -119
  141. data/grammars/source.figctrl.json +1 -252
  142. data/grammars/source.figfont.json +1 -121
  143. data/grammars/source.firestore.json +1 -289
  144. data/grammars/source.fish.json +1 -190
  145. data/grammars/source.fontdir.json +1 -99
  146. data/grammars/source.fontforge.json +1 -355
  147. data/grammars/source.fontinfo.json +1 -0
  148. data/grammars/source.forth.json +1 -84
  149. data/grammars/source.fortran.json +1 -464
  150. data/grammars/source.fortran.modern.json +1 -200
  151. data/grammars/source.fsharp.fsi.json +1 -9
  152. data/grammars/source.fsharp.fsl.json +1 -9
  153. data/grammars/source.fsharp.fsx.json +1 -13
  154. data/grammars/source.fsharp.json +1 -452
  155. data/grammars/source.fstar.json +1 -439
  156. data/grammars/source.futhark.json +1 -167
  157. data/grammars/source.gap.json +1 -163
  158. data/grammars/source.gcode.json +1 -176
  159. data/grammars/source.gdb.json +1 -160
  160. data/grammars/source.gdb.session.json +1 -70
  161. data/grammars/source.gdbregs.json +1 -14
  162. data/grammars/source.gdscript.json +1 -491
  163. data/grammars/source.gedcom.json +1 -196
  164. data/grammars/source.gemfile-lock.json +1 -0
  165. data/grammars/source.generic-db.json +1 -41
  166. data/grammars/source.gerber.json +1 -321
  167. data/grammars/source.gf.json +1 -51
  168. data/grammars/source.gfm.blade.json +1 -15
  169. data/grammars/source.gfm.json +1 -1913
  170. data/grammars/source.gitattributes.json +1 -111
  171. data/grammars/source.gitconfig.json +1 -450
  172. data/grammars/source.gitignore.json +1 -140
  173. data/grammars/source.glsl.json +1 -139
  174. data/grammars/source.gn.json +1 -345
  175. data/grammars/source.gnuplot.json +1 -260
  176. data/grammars/source.go.json +1 -540
  177. data/grammars/source.golo.json +1 -177
  178. data/grammars/source.gosu.2.json +1 -153
  179. data/grammars/source.grace.json +1 -675
  180. data/grammars/source.graphql.json +1 -978
  181. data/grammars/source.gremlin.json +1 -200
  182. data/grammars/source.groovy.gradle.json +1 -69
  183. data/grammars/source.groovy.json +1 -1374
  184. data/grammars/source.hack.json +1 -2595
  185. data/grammars/source.haproxy-config.json +1 -152
  186. data/grammars/source.harbour.json +1 -388
  187. data/grammars/source.haskell.json +1 -1760
  188. data/grammars/source.hc.json +1 -709
  189. data/grammars/source.hgignore.json +1 -34
  190. data/grammars/source.hlsl.json +1 -211
  191. data/grammars/source.hosts.json +1 -40
  192. data/grammars/source.hql.json +1 -492
  193. data/grammars/source.hsc2hs.json +1 -9
  194. data/grammars/source.hsig.json +1 -1760
  195. data/grammars/source.httpspec.json +1 -283
  196. data/grammars/source.hx.argument.json +1 -80
  197. data/grammars/source.hx.json +1 -2428
  198. data/grammars/source.hx.type.json +1 -8
  199. data/grammars/source.hxml.json +1 -59
  200. data/grammars/source.hy.json +1 -429
  201. data/grammars/source.ideal.json +1 -356
  202. data/grammars/source.idl-dlm.json +1 -105
  203. data/grammars/source.idl.json +1 -246
  204. data/grammars/source.idris.json +1 -523
  205. data/grammars/source.igor.json +1 -369
  206. data/grammars/source.inform7.json +1 -183
  207. data/grammars/source.ini.json +1 -107
  208. data/grammars/source.ini.npmrc.json +1 -311
  209. data/grammars/source.inno.json +1 -133
  210. data/grammars/source.inputrc.json +1 -500
  211. data/grammars/source.io.json +1 -156
  212. data/grammars/source.ioke.json +1 -266
  213. data/grammars/source.isabelle.root.json +1 -64
  214. data/grammars/source.isabelle.theory.json +1 -102
  215. data/grammars/source.j.json +1 -260
  216. data/grammars/source.jasmin.json +1 -294
  217. data/grammars/source.java-properties.json +1 -87
  218. data/grammars/source.java.json +1 -1020
  219. data/grammars/source.jcl.json +1 -46
  220. data/grammars/source.jflex.json +1 -484
  221. data/grammars/source.jison.json +1 -711
  222. data/grammars/source.jisonlex-injection.json +1 -10
  223. data/grammars/source.jisonlex.json +1 -434
  224. data/grammars/source.jolie.json +1 -132
  225. data/grammars/source.jq.json +1 -211
  226. data/grammars/source.js.json +1 -1897
  227. data/grammars/source.js.objj.json +1 -419
  228. data/grammars/source.js.regexp.json +1 -152
  229. data/grammars/source.js.regexp.replacement.json +1 -26
  230. data/grammars/source.jsdoc.json +1 -460
  231. data/grammars/source.json.json +1 -139
  232. data/grammars/source.jsoniq.json +1 -0
  233. data/grammars/source.jsonnet.json +1 -197
  234. data/grammars/source.julia.console.json +1 -51
  235. data/grammars/source.julia.json +1 -991
  236. data/grammars/source.kotlin.json +1 -704
  237. data/grammars/source.kusto.json +1 -0
  238. data/grammars/source.lark.json +1 -0
  239. data/grammars/source.lbnf.json +1 -0
  240. data/grammars/source.lcov.json +1 -398
  241. data/grammars/source.lean.json +1 -226
  242. data/grammars/source.lean.markdown.json +1 -2598
  243. data/grammars/source.lex.json +1 -232
  244. data/grammars/source.lex.regexp.json +1 -269
  245. data/grammars/source.lid.json +1 -19
  246. data/grammars/source.lilypond.json +1 -869
  247. data/grammars/source.lisp.json +1 -101
  248. data/grammars/source.litcoffee.json +1 -654
  249. data/grammars/source.livescript.json +1 -603
  250. data/grammars/source.llvm.json +1 -61
  251. data/grammars/source.logos.json +1 -24
  252. data/grammars/source.logtalk.json +1 -310
  253. data/grammars/source.loomscript.json +1 -208
  254. data/grammars/source.lsl.json +1 -241
  255. data/grammars/source.ltspice.symbol.json +1 -294
  256. data/grammars/source.lua.json +1 -275
  257. data/grammars/source.m2.json +1 -125
  258. data/grammars/source.m4.json +1 -229
  259. data/grammars/source.m68k.json +1 -412
  260. data/grammars/source.mailmap.json +1 -28
  261. data/grammars/source.makefile.json +1 -470
  262. data/grammars/source.makegen.json +1 -9
  263. data/grammars/source.man-conf.json +1 -153
  264. data/grammars/source.mask.json +1 -816
  265. data/grammars/source.mata.json +1 -125
  266. data/grammars/source.mathematica.json +1 -416
  267. data/grammars/source.matlab.json +1 -1096
  268. data/grammars/source.maxscript.json +1 -465
  269. data/grammars/source.mcfunction-snapshot.json +1 -24480
  270. data/grammars/source.mcfunction.json +1 -1354
  271. data/grammars/source.mercury.json +1 -246
  272. data/grammars/source.meson.json +1 -165
  273. data/grammars/source.meta-info.json +1 -146
  274. data/grammars/source.ml.json +1 -285
  275. data/grammars/source.mlir.json +1 -109
  276. data/grammars/source.modelica.json +1 -142
  277. data/grammars/source.modula-3.json +1 -88
  278. data/grammars/source.modula2.json +1 -94
  279. data/grammars/source.monkey.json +1 -694
  280. data/grammars/source.moonscript.json +1 -144
  281. data/grammars/source.mql5.json +1 -187
  282. data/grammars/source.msl.json +1 -755
  283. data/grammars/source.mupad.json +1 -131
  284. data/grammars/source.nanorc.json +1 -333
  285. data/grammars/source.nasl.json +1 -155
  286. data/grammars/source.ncl.json +1 -53
  287. data/grammars/source.ne.json +1 -105
  288. data/grammars/source.nemerle.json +1 -132
  289. data/grammars/source.neon.json +1 -381
  290. data/grammars/source.nesc.json +1 -21
  291. data/grammars/source.netlinx.erb.json +1 -34
  292. data/grammars/source.netlinx.json +1 -704
  293. data/grammars/source.nextflow-groovy.json +1 -1359
  294. data/grammars/source.nextflow.json +1 -94
  295. data/grammars/source.nginx.json +1 -815
  296. data/grammars/source.nim.comment.json +1 -82
  297. data/grammars/source.nim.json +1 -1083
  298. data/grammars/source.nim_filter.json +1 -113
  299. data/grammars/source.nimcfg.json +1 -103
  300. data/grammars/source.ninja.json +1 -248
  301. data/grammars/source.nit.json +1 -234
  302. data/grammars/source.nix.json +1 -1196
  303. data/grammars/source.nsis.json +1 -152
  304. data/grammars/source.nu.json +1 -516
  305. data/grammars/source.nunjucks.json +1 -0
  306. data/grammars/source.nut.json +1 -262
  307. data/grammars/source.objc++.json +1 -12
  308. data/grammars/source.objc.json +1 -910
  309. data/grammars/source.objc.platform.json +1 -842
  310. data/grammars/source.objectscript.json +1 -309
  311. data/grammars/source.objectscript_class.json +1 -674
  312. data/grammars/source.objectscript_csp.json +1 -19
  313. data/grammars/source.objectscript_macros.json +1 -226
  314. data/grammars/source.ocaml.json +1 -1418
  315. data/grammars/source.ocamllex.json +1 -298
  316. data/grammars/source.ocamlyacc.json +1 -339
  317. data/grammars/source.odin-ehr.json +1 -806
  318. data/grammars/source.odin.json +1 -402
  319. data/grammars/source.ooc.json +1 -685
  320. data/grammars/source.opa.json +1 -196
  321. data/grammars/source.opal.json +1 -410
  322. data/grammars/source.opalsysdefs.json +1 -66
  323. data/grammars/source.openbsd-pkg.contents.json +1 -128
  324. data/grammars/source.opencobol.json +1 -62
  325. data/grammars/source.opentype.json +1 -448
  326. data/grammars/source.opts.json +1 -108
  327. data/grammars/source.ox.json +1 -89
  328. data/grammars/source.oz.json +1 -77
  329. data/grammars/source.p4.json +1 -122
  330. data/grammars/source.paket.dependencies.json +1 -0
  331. data/grammars/source.paket.lock.json +1 -0
  332. data/grammars/source.pan.json +1 -706
  333. data/grammars/source.papyrus.skyrim.json +1 -1272
  334. data/grammars/source.parrot.pir.json +1 -145
  335. data/grammars/source.pascal.json +1 -143
  336. data/grammars/source.pawn.json +1 -1194
  337. data/grammars/source.pcb.board.json +1 -285
  338. data/grammars/source.pcb.schematic.json +1 -424
  339. data/grammars/source.pcb.sexp.json +1 -232
  340. data/grammars/source.pep8.json +1 -118
  341. data/grammars/source.perl.6.json +1 -309
  342. data/grammars/source.perl.json +1 -2519
  343. data/grammars/source.php.zephir.json +1 -353
  344. data/grammars/source.pic.json +1 -908
  345. data/grammars/source.pig_latin.json +1 -168
  346. data/grammars/source.pike.json +1 -49
  347. data/grammars/source.plist.json +1 -336
  348. data/grammars/source.po.json +1 -222
  349. data/grammars/source.pogoscript.json +1 -79
  350. data/grammars/source.pony.json +1 -245
  351. data/grammars/source.postcss.json +1 -370
  352. data/grammars/source.postscript.json +1 -477
  353. data/grammars/source.pov-ray sdl.json +1 -82
  354. data/grammars/source.powershell.json +1 -981
  355. data/grammars/source.prisma.json +1 -435
  356. data/grammars/source.processing.json +1 -872
  357. data/grammars/source.prolog.eclipse.json +1 -201
  358. data/grammars/source.prolog.json +1 -286
  359. data/grammars/source.protobuf.json +1 -471
  360. data/grammars/source.puppet.json +1 -433
  361. data/grammars/source.purescript.json +1 -861
  362. data/grammars/source.pyjade.json +1 -996
  363. data/grammars/source.python.django.json +1 -29
  364. data/grammars/source.python.json +1 -5292
  365. data/grammars/source.python.salt.json +1 -9
  366. data/grammars/source.q.json +1 -215
  367. data/grammars/source.q_output.json +1 -348
  368. data/grammars/source.qasm.json +1 -66
  369. data/grammars/source.ql.json +1 -1408
  370. data/grammars/source.qmake.json +1 -210
  371. data/grammars/source.qml.json +1 -174
  372. data/grammars/source.qsharp.json +1 -120
  373. data/grammars/source.quake.json +1 -44
  374. data/grammars/source.quoting.raku.json +1 -0
  375. data/grammars/source.r.json +1 -194
  376. data/grammars/source.racket.json +1 -98
  377. data/grammars/source.raku.json +1 -0
  378. data/grammars/source.rascal.json +1 -283
  379. data/grammars/source.reason.hover.type.json +1 -14
  380. data/grammars/source.reason.json +1 -3382
  381. data/grammars/source.rebol.json +1 -637
  382. data/grammars/source.record-jar.json +1 -0
  383. data/grammars/source.red.json +1 -644
  384. data/grammars/source.redirects.json +1 -0
  385. data/grammars/source.reg.json +1 -159
  386. data/grammars/source.regexp.extended.json +1 -558
  387. data/grammars/source.regexp.json +1 -1434
  388. data/grammars/source.regexp.posix.json +1 -0
  389. data/grammars/source.regexp.python.json +1 -490
  390. data/grammars/source.regexp.raku.json +1 -0
  391. data/grammars/source.regexp.spin.json +1 -179
  392. data/grammars/source.rego.json +1 -124
  393. data/grammars/source.renpy.json +1 -1948
  394. data/grammars/source.rescript.json +1 -0
  395. data/grammars/source.rexx.json +1 -52
  396. data/grammars/source.ring.json +1 -247
  397. data/grammars/source.rpm-spec.json +1 -765
  398. data/grammars/source.ruby.gemfile.json +1 -24
  399. data/grammars/source.ruby.json +1 -2605
  400. data/grammars/source.ruby.rspec.cucumber.steps.json +1 -261
  401. data/grammars/source.rust.json +1 -629
  402. data/grammars/source.sas.json +1 -286
  403. data/grammars/source.sass.json +1 -1089
  404. data/grammars/source.sassdoc.json +1 -346
  405. data/grammars/source.scad.json +1 -145
  406. data/grammars/source.scala.json +1 -1121
  407. data/grammars/source.scaml.json +1 -451
  408. data/grammars/source.scheme.json +1 -353
  409. data/grammars/source.scilab.json +1 -96
  410. data/grammars/source.sdbl.json +1 -90
  411. data/grammars/source.sed.json +1 -1520
  412. data/grammars/source.shaderlab.json +1 -198
  413. data/grammars/source.shell.json +1 -1272
  414. data/grammars/source.shen.json +1 -143
  415. data/grammars/source.sieve.json +1 -383
  416. data/grammars/source.singularity.json +1 -0
  417. data/grammars/source.slice.json +1 -2755
  418. data/grammars/source.smali.json +1 -1610
  419. data/grammars/source.smalltalk.json +1 -187
  420. data/grammars/source.smpl.json +1 -314
  421. data/grammars/source.smt.json +1 -158
  422. data/grammars/source.solidity.json +1 -189
  423. data/grammars/source.solution.json +1 -0
  424. data/grammars/source.sourcepawn.json +1 -651
  425. data/grammars/source.sparql.json +1 -18
  426. data/grammars/source.spin.json +1 -916
  427. data/grammars/source.sqf.json +1 -111
  428. data/grammars/source.sql.json +1 -459
  429. data/grammars/source.ssh-config.json +1 -97
  430. data/grammars/source.stan.json +1 -388
  431. data/grammars/source.stata.json +1 -197
  432. data/grammars/source.stdbez.json +1 -0
  433. data/grammars/source.string-template.json +1 -0
  434. data/grammars/source.strings.json +1 -49
  435. data/grammars/source.stylus.json +1 -1018
  436. data/grammars/source.supercollider.json +1 -93
  437. data/grammars/source.svelte.json +1 -827
  438. data/grammars/source.swift.json +1 -3134
  439. data/grammars/source.sy.json +1 -2954
  440. data/grammars/source.systemverilog.json +1 -1036
  441. data/grammars/source.tags.json +1 -266
  442. data/grammars/source.tcl.json +1 -260
  443. data/grammars/source.tea.json +1 -174
  444. data/grammars/source.terra.json +1 -138
  445. data/grammars/source.terraform.json +1 -694
  446. data/grammars/source.thrift.json +1 -698
  447. data/grammars/source.tl.json +1 -259
  448. data/grammars/source.tla.json +1 -140
  449. data/grammars/source.tnsaudit.json +1 -256
  450. data/grammars/source.toc.json +1 -52
  451. data/grammars/source.toml.json +1 -426
  452. data/grammars/source.ts.json +1 -5581
  453. data/grammars/source.tsql.json +1 -507
  454. data/grammars/source.tsx.json +1 -5834
  455. data/grammars/source.turing.json +1 -1553
  456. data/grammars/source.turtle.json +1 -489
  457. data/grammars/source.txl.json +1 -48
  458. data/grammars/source.ucd.nameslist.json +1 -444
  459. data/grammars/source.ucd.unidata.json +1 -570
  460. data/grammars/source.ucfconstraints.json +1 -67
  461. data/grammars/source.ur.json +1 -31
  462. data/grammars/source.v.json +1 -1010
  463. data/grammars/source.vala.json +1 -800
  464. data/grammars/source.varnish.vcl.json +1 -331
  465. data/grammars/source.vbnet.json +1 -239
  466. data/grammars/source.verilog.json +1 -296
  467. data/grammars/source.vhdl.json +1 -1374
  468. data/grammars/source.vim-snippet.json +1 -645
  469. data/grammars/source.viml.json +1 -1197
  470. data/grammars/source.vtt.json +1 -702
  471. data/grammars/source.vyper.json +1 -213
  472. data/grammars/source.wavefront.mtl.json +1 -1190
  473. data/grammars/source.wavefront.obj.json +1 -1341
  474. data/grammars/source.wdl.json +1 -220
  475. data/grammars/source.webassembly.json +1 -349
  476. data/grammars/source.webidl.json +1 -807
  477. data/grammars/source.wgetrc.json +1 -1640
  478. data/grammars/source.wollok.json +1 -100
  479. data/grammars/source.wsd.json +1 -781
  480. data/grammars/source.x10.json +1 -64
  481. data/grammars/source.x86.json +1 -299
  482. data/grammars/source.x86asm.json +1 -42
  483. data/grammars/source.xc.json +1 -371
  484. data/grammars/source.xlfd.json +1 -462
  485. data/grammars/source.xojo.json +1 -85
  486. data/grammars/source.xq.json +1 -230
  487. data/grammars/source.xtend.json +1 -724
  488. data/grammars/source.yacc.json +1 -626
  489. data/grammars/source.yaml.json +1 -443
  490. data/grammars/source.yaml.salt.json +1 -345
  491. data/grammars/source.yang.json +1 -78
  492. data/grammars/source.yara.json +1 -99
  493. data/grammars/source.yasnippet.json +1 -377
  494. data/grammars/source.zap.json +1 -260
  495. data/grammars/source.zeek.json +1 -412
  496. data/grammars/source.zenscript.json +1 -282
  497. data/grammars/source.zig.json +1 -547
  498. data/grammars/source.zil.json +1 -750
  499. data/grammars/text.bibtex.json +1 -246
  500. data/grammars/text.browserslist.json +1 -0
  501. data/grammars/text.cfml.basic.json +1 -735
  502. data/grammars/text.checksums.json +1 -0
  503. data/grammars/text.codeowners.json +1 -0
  504. data/grammars/text.conllu.json +1 -45
  505. data/grammars/text.dfy.dafny.json +1 -188
  506. data/grammars/text.elixir.json +1 -52
  507. data/grammars/text.eml.basic.json +1 -296
  508. data/grammars/text.error-list.json +1 -53
  509. data/grammars/text.find-refs.json +1 -926
  510. data/grammars/text.gherkin.feature.json +1 -127
  511. data/grammars/text.haml.json +1 -518
  512. data/grammars/text.hamlc.json +1 -219
  513. data/grammars/text.html.asciidoc.json +1 -478
  514. data/grammars/text.html.asdoc.json +1 -529
  515. data/grammars/text.html.asp.json +1 -53
  516. data/grammars/text.html.basic.json +1 -908
  517. data/grammars/text.html.cfm.json +1 -802
  518. data/grammars/text.html.creole.json +1 -317
  519. data/grammars/text.html.cshtml.json +1 -356
  520. data/grammars/text.html.django.json +1 -63
  521. data/grammars/text.html.ecr.json +1 -48
  522. data/grammars/text.html.elixir.json +1 -21
  523. data/grammars/text.html.erb.json +1 -150
  524. data/grammars/text.html.erlang.yaws.json +1 -67
  525. data/grammars/text.html.factor.json +1 -19
  526. data/grammars/text.html.ftl.json +1 -76
  527. data/grammars/text.html.handlebars.json +1 -845
  528. data/grammars/text.html.javadoc.json +1 -426
  529. data/grammars/text.html.js.json +1 -24
  530. data/grammars/text.html.jsp.json +1 -1196
  531. data/grammars/text.html.liquid.json +1 -25
  532. data/grammars/text.html.mako.json +1 -726
  533. data/grammars/text.html.markdown.source.gfm.apib.json +1 -1298
  534. data/grammars/text.html.markdown.source.gfm.mson.json +1 -1156
  535. data/grammars/text.html.mediawiki.elm-build-output.json +1 -97
  536. data/grammars/text.html.mediawiki.elm-documentation.json +1 -17
  537. data/grammars/text.html.mediawiki.json +1 -946
  538. data/grammars/text.html.nunjucks.json +1 -0
  539. data/grammars/text.html.php.blade.json +1 -3833
  540. data/grammars/text.html.php.json +1 -2507
  541. data/grammars/text.html.riot.json +1 -788
  542. data/grammars/text.html.slash.json +1 -307
  543. data/grammars/text.html.smarty.json +1 -232
  544. data/grammars/text.html.soy.json +1 -606
  545. data/grammars/text.html.ssp.json +1 -43
  546. data/grammars/text.html.tcl.json +1 -37
  547. data/grammars/text.html.twig.json +1 -1344
  548. data/grammars/text.html.vue.json +1 -963
  549. data/grammars/text.idl-idldoc.json +1 -10
  550. data/grammars/text.jade.json +1 -963
  551. data/grammars/text.junit-test-report.json +1 -89
  552. data/grammars/text.log.latex.json +1 -84
  553. data/grammars/text.marko.json +1 -1662
  554. data/grammars/text.muse.json +1 -1471
  555. data/grammars/text.openbsd-pkg.desc.json +1 -78
  556. data/grammars/text.plain.json +1 -18
  557. data/grammars/text.python.console.json +1 -21
  558. data/grammars/text.python.traceback.json +1 -43
  559. data/grammars/text.rdoc.json +1 -44
  560. data/grammars/text.restructuredtext.clean.json +1 -24
  561. data/grammars/text.restructuredtext.json +1 -1765
  562. data/grammars/text.robot.json +1 -63
  563. data/grammars/text.robots-txt.json +1 -0
  564. data/grammars/text.roff.json +1 -6927
  565. data/grammars/text.rtf.json +1 -148
  566. data/grammars/text.runoff.json +1 -308
  567. data/grammars/text.sfd.json +1 -292
  568. data/grammars/text.shell-session.json +1 -29
  569. data/grammars/text.slim.json +1 -527
  570. data/grammars/text.srt.json +1 -166
  571. data/grammars/text.tex.json +1 -264
  572. data/grammars/text.tex.latex.beamer.json +1 -57
  573. data/grammars/text.tex.latex.haskell.json +1 -1826
  574. data/grammars/text.tex.latex.json +1 -1003
  575. data/grammars/text.tex.latex.memoir.json +1 -129
  576. data/grammars/text.tex.latex.rd.json +1 -111
  577. data/grammars/text.texinfo.json +1 -1525
  578. data/grammars/text.vim-help.json +1 -383
  579. data/grammars/text.xml.ant.json +1 -195
  580. data/grammars/text.xml.flex-config.json +1 -2628
  581. data/grammars/text.xml.genshi.json +1 -28
  582. data/grammars/text.xml.json +1 -351
  583. data/grammars/text.xml.plist.json +1 -664
  584. data/grammars/text.xml.pom.json +1 -769
  585. data/grammars/text.xml.svg.json +1 -562
  586. data/grammars/text.xml.xsl.json +1 -88
  587. data/grammars/text.zone_file.json +1 -67
  588. data/grammars/version +1 -1
  589. data/lib/linguist/VERSION +1 -1
  590. data/lib/linguist/classifier.rb +9 -5
  591. data/lib/linguist/generated.rb +10 -0
  592. data/lib/linguist/generic.yml +18 -0
  593. data/lib/linguist/heuristics.yml +77 -20
  594. data/lib/linguist/language.rb +7 -17
  595. data/lib/linguist/languages.json +1 -1
  596. data/lib/linguist/languages.yml +271 -49
  597. data/lib/linguist/linguist.bundle +0 -0
  598. data/lib/linguist/samples.json +1 -1
  599. data/lib/linguist/samples.rb +2 -2
  600. data/lib/linguist/strategy/extension.rb +13 -5
  601. data/lib/linguist/strategy/modeline.rb +64 -32
  602. data/lib/linguist/vendor.yml +1 -1
  603. metadata +37 -13
  604. data/ext/linguist/strndup.c +0 -10
  605. data/grammars/source.cake.json +0 -13
  606. data/grammars/source.csx.json +0 -13
  607. data/grammars/source.js.css.json +0 -328
  608. data/grammars/source.js.jsx.json +0 -2488
  609. data/grammars/source.perl6fe.json +0 -2769
  610. data/grammars/source.quoting.perl6fe.json +0 -2369
  611. data/grammars/source.regexp.perl6fe.json +0 -244
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44e76c87180265b5183ed6101dd0eae4e4c937d0db6ff21394d5d05ae325fb84
4
- data.tar.gz: dcdc54d65f47aa2376b17fe2e4e656b029781217effce570752a0e4decfaf5fa
3
+ metadata.gz: 3eef035caf098d2e3da0ee2611f37de4c454f744f4bf26cab211c4d24afedb47
4
+ data.tar.gz: ce9d7702f3c2f057330d75498ee3e5c0dc00c975ca3315fa5fae970717b12d1f
5
5
  SHA512:
6
- metadata.gz: 668f294631e9db05cf5812be2176b4cd7b696ff4012177f48dcf91325c67f71654524d33932348f213017572ee2b72c58ba31541411e67dee78c5be32ede247e
7
- data.tar.gz: 9baa47b5b7ac2f52d0204079f5ece7de0ea97cd09be6d53857ac7d3b11da665eee10ebf10609464da91bf57c6a85bccffe90779e2f4debff7a33ad6aaf06a5f3
6
+ metadata.gz: 073c19947bd728378aab094babeb687f7382949ca319c0b1e1efe4eda461949e065a52030081c5c4868f2854e44f4690f772b46f5245c7562114783079920b1f
7
+ data.tar.gz: 7f8273d3c57ac4073bfa08cc87adcc2835f78fe53593357f1cab9831048491d2fca9ce580c6dba8d5426c150ef2671f223160cd066b3fb3c274040429e533894
@@ -7,12 +7,222 @@
7
7
 
8
8
  #define FLEX_SCANNER
9
9
  #define YY_FLEX_MAJOR_VERSION 2
10
- #define YY_FLEX_MINOR_VERSION 5
11
- #define YY_FLEX_SUBMINOR_VERSION 35
10
+ #define YY_FLEX_MINOR_VERSION 6
11
+ #define YY_FLEX_SUBMINOR_VERSION 4
12
12
  #if YY_FLEX_SUBMINOR_VERSION > 0
13
13
  #define FLEX_BETA
14
14
  #endif
15
15
 
16
+ #ifdef yy_create_buffer
17
+ #define linguist_yy_create_buffer_ALREADY_DEFINED
18
+ #else
19
+ #define yy_create_buffer linguist_yy_create_buffer
20
+ #endif
21
+
22
+ #ifdef yy_delete_buffer
23
+ #define linguist_yy_delete_buffer_ALREADY_DEFINED
24
+ #else
25
+ #define yy_delete_buffer linguist_yy_delete_buffer
26
+ #endif
27
+
28
+ #ifdef yy_scan_buffer
29
+ #define linguist_yy_scan_buffer_ALREADY_DEFINED
30
+ #else
31
+ #define yy_scan_buffer linguist_yy_scan_buffer
32
+ #endif
33
+
34
+ #ifdef yy_scan_string
35
+ #define linguist_yy_scan_string_ALREADY_DEFINED
36
+ #else
37
+ #define yy_scan_string linguist_yy_scan_string
38
+ #endif
39
+
40
+ #ifdef yy_scan_bytes
41
+ #define linguist_yy_scan_bytes_ALREADY_DEFINED
42
+ #else
43
+ #define yy_scan_bytes linguist_yy_scan_bytes
44
+ #endif
45
+
46
+ #ifdef yy_init_buffer
47
+ #define linguist_yy_init_buffer_ALREADY_DEFINED
48
+ #else
49
+ #define yy_init_buffer linguist_yy_init_buffer
50
+ #endif
51
+
52
+ #ifdef yy_flush_buffer
53
+ #define linguist_yy_flush_buffer_ALREADY_DEFINED
54
+ #else
55
+ #define yy_flush_buffer linguist_yy_flush_buffer
56
+ #endif
57
+
58
+ #ifdef yy_load_buffer_state
59
+ #define linguist_yy_load_buffer_state_ALREADY_DEFINED
60
+ #else
61
+ #define yy_load_buffer_state linguist_yy_load_buffer_state
62
+ #endif
63
+
64
+ #ifdef yy_switch_to_buffer
65
+ #define linguist_yy_switch_to_buffer_ALREADY_DEFINED
66
+ #else
67
+ #define yy_switch_to_buffer linguist_yy_switch_to_buffer
68
+ #endif
69
+
70
+ #ifdef yypush_buffer_state
71
+ #define linguist_yypush_buffer_state_ALREADY_DEFINED
72
+ #else
73
+ #define yypush_buffer_state linguist_yypush_buffer_state
74
+ #endif
75
+
76
+ #ifdef yypop_buffer_state
77
+ #define linguist_yypop_buffer_state_ALREADY_DEFINED
78
+ #else
79
+ #define yypop_buffer_state linguist_yypop_buffer_state
80
+ #endif
81
+
82
+ #ifdef yyensure_buffer_stack
83
+ #define linguist_yyensure_buffer_stack_ALREADY_DEFINED
84
+ #else
85
+ #define yyensure_buffer_stack linguist_yyensure_buffer_stack
86
+ #endif
87
+
88
+ #ifdef yylex
89
+ #define linguist_yylex_ALREADY_DEFINED
90
+ #else
91
+ #define yylex linguist_yylex
92
+ #endif
93
+
94
+ #ifdef yyrestart
95
+ #define linguist_yyrestart_ALREADY_DEFINED
96
+ #else
97
+ #define yyrestart linguist_yyrestart
98
+ #endif
99
+
100
+ #ifdef yylex_init
101
+ #define linguist_yylex_init_ALREADY_DEFINED
102
+ #else
103
+ #define yylex_init linguist_yylex_init
104
+ #endif
105
+
106
+ #ifdef yylex_init_extra
107
+ #define linguist_yylex_init_extra_ALREADY_DEFINED
108
+ #else
109
+ #define yylex_init_extra linguist_yylex_init_extra
110
+ #endif
111
+
112
+ #ifdef yylex_destroy
113
+ #define linguist_yylex_destroy_ALREADY_DEFINED
114
+ #else
115
+ #define yylex_destroy linguist_yylex_destroy
116
+ #endif
117
+
118
+ #ifdef yyget_debug
119
+ #define linguist_yyget_debug_ALREADY_DEFINED
120
+ #else
121
+ #define yyget_debug linguist_yyget_debug
122
+ #endif
123
+
124
+ #ifdef yyset_debug
125
+ #define linguist_yyset_debug_ALREADY_DEFINED
126
+ #else
127
+ #define yyset_debug linguist_yyset_debug
128
+ #endif
129
+
130
+ #ifdef yyget_extra
131
+ #define linguist_yyget_extra_ALREADY_DEFINED
132
+ #else
133
+ #define yyget_extra linguist_yyget_extra
134
+ #endif
135
+
136
+ #ifdef yyset_extra
137
+ #define linguist_yyset_extra_ALREADY_DEFINED
138
+ #else
139
+ #define yyset_extra linguist_yyset_extra
140
+ #endif
141
+
142
+ #ifdef yyget_in
143
+ #define linguist_yyget_in_ALREADY_DEFINED
144
+ #else
145
+ #define yyget_in linguist_yyget_in
146
+ #endif
147
+
148
+ #ifdef yyset_in
149
+ #define linguist_yyset_in_ALREADY_DEFINED
150
+ #else
151
+ #define yyset_in linguist_yyset_in
152
+ #endif
153
+
154
+ #ifdef yyget_out
155
+ #define linguist_yyget_out_ALREADY_DEFINED
156
+ #else
157
+ #define yyget_out linguist_yyget_out
158
+ #endif
159
+
160
+ #ifdef yyset_out
161
+ #define linguist_yyset_out_ALREADY_DEFINED
162
+ #else
163
+ #define yyset_out linguist_yyset_out
164
+ #endif
165
+
166
+ #ifdef yyget_leng
167
+ #define linguist_yyget_leng_ALREADY_DEFINED
168
+ #else
169
+ #define yyget_leng linguist_yyget_leng
170
+ #endif
171
+
172
+ #ifdef yyget_text
173
+ #define linguist_yyget_text_ALREADY_DEFINED
174
+ #else
175
+ #define yyget_text linguist_yyget_text
176
+ #endif
177
+
178
+ #ifdef yyget_lineno
179
+ #define linguist_yyget_lineno_ALREADY_DEFINED
180
+ #else
181
+ #define yyget_lineno linguist_yyget_lineno
182
+ #endif
183
+
184
+ #ifdef yyset_lineno
185
+ #define linguist_yyset_lineno_ALREADY_DEFINED
186
+ #else
187
+ #define yyset_lineno linguist_yyset_lineno
188
+ #endif
189
+
190
+ #ifdef yyget_column
191
+ #define linguist_yyget_column_ALREADY_DEFINED
192
+ #else
193
+ #define yyget_column linguist_yyget_column
194
+ #endif
195
+
196
+ #ifdef yyset_column
197
+ #define linguist_yyset_column_ALREADY_DEFINED
198
+ #else
199
+ #define yyset_column linguist_yyset_column
200
+ #endif
201
+
202
+ #ifdef yywrap
203
+ #define linguist_yywrap_ALREADY_DEFINED
204
+ #else
205
+ #define yywrap linguist_yywrap
206
+ #endif
207
+
208
+ #ifdef yyalloc
209
+ #define linguist_yyalloc_ALREADY_DEFINED
210
+ #else
211
+ #define yyalloc linguist_yyalloc
212
+ #endif
213
+
214
+ #ifdef yyrealloc
215
+ #define linguist_yyrealloc_ALREADY_DEFINED
216
+ #else
217
+ #define yyrealloc linguist_yyrealloc
218
+ #endif
219
+
220
+ #ifdef yyfree
221
+ #define linguist_yyfree_ALREADY_DEFINED
222
+ #else
223
+ #define yyfree linguist_yyfree
224
+ #endif
225
+
16
226
  /* First, we deal with platform-specific or compiler-specific issues. */
17
227
 
18
228
  /* begin standard C headers. */
@@ -46,7 +256,6 @@ typedef int16_t flex_int16_t;
46
256
  typedef uint16_t flex_uint16_t;
47
257
  typedef int32_t flex_int32_t;
48
258
  typedef uint32_t flex_uint32_t;
49
- typedef uint64_t flex_uint64_t;
50
259
  #else
51
260
  typedef signed char flex_int8_t;
52
261
  typedef short int flex_int16_t;
@@ -54,7 +263,6 @@ typedef int flex_int32_t;
54
263
  typedef unsigned char flex_uint8_t;
55
264
  typedef unsigned short int flex_uint16_t;
56
265
  typedef unsigned int flex_uint32_t;
57
- #endif /* ! C99 */
58
266
 
59
267
  /* Limits of integral types. */
60
268
  #ifndef INT8_MIN
@@ -85,38 +293,32 @@ typedef unsigned int flex_uint32_t;
85
293
  #define UINT32_MAX (4294967295U)
86
294
  #endif
87
295
 
88
- #endif /* ! FLEXINT_H */
89
-
90
- #ifdef __cplusplus
91
-
92
- /* The "const" storage-class-modifier is valid. */
93
- #define YY_USE_CONST
94
-
95
- #else /* ! __cplusplus */
296
+ #ifndef SIZE_MAX
297
+ #define SIZE_MAX (~(size_t)0)
298
+ #endif
96
299
 
97
- /* C99 requires __STDC__ to be defined as 1. */
98
- #if defined (__STDC__)
300
+ #endif /* ! C99 */
99
301
 
100
- #define YY_USE_CONST
302
+ #endif /* ! FLEXINT_H */
101
303
 
102
- #endif /* defined (__STDC__) */
103
- #endif /* ! __cplusplus */
304
+ /* begin standard C++ headers. */
104
305
 
105
- #ifdef YY_USE_CONST
306
+ /* TODO: this is always defined, so inline it */
106
307
  #define yyconst const
308
+
309
+ #if defined(__GNUC__) && __GNUC__ >= 3
310
+ #define yynoreturn __attribute__((__noreturn__))
107
311
  #else
108
- #define yyconst
312
+ #define yynoreturn
109
313
  #endif
110
314
 
111
315
  /* Returned upon end-of-file. */
112
316
  #define YY_NULL 0
113
317
 
114
- /* Promotes a possibly negative, possibly signed char to an unsigned
115
- * integer for use as an array index. If the signed char is negative,
116
- * we want to instead treat it as an 8-bit unsigned char, hence the
117
- * double cast.
318
+ /* Promotes a possibly negative, possibly signed char to an
319
+ * integer in range [0..255] for use as an array index.
118
320
  */
119
- #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
321
+ #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
120
322
 
121
323
  /* An opaque pointer. */
122
324
  #ifndef YY_TYPEDEF_YY_SCANNER_T
@@ -140,25 +342,29 @@ typedef void* yyscan_t;
140
342
  * definition of BEGIN.
141
343
  */
142
344
  #define BEGIN yyg->yy_start = 1 + 2 *
143
-
144
345
  /* Translate the current start state into a value that can be later handed
145
346
  * to BEGIN to return to the state. The YYSTATE alias is for lex
146
347
  * compatibility.
147
348
  */
148
349
  #define YY_START ((yyg->yy_start - 1) / 2)
149
350
  #define YYSTATE YY_START
150
-
151
351
  /* Action number for EOF rule of a given start state. */
152
352
  #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
153
-
154
353
  /* Special action meaning "start processing a new file". */
155
- #define YY_NEW_FILE linguist_yyrestart(yyin ,yyscanner )
156
-
354
+ #define YY_NEW_FILE yyrestart( yyin , yyscanner )
157
355
  #define YY_END_OF_BUFFER_CHAR 0
158
356
 
159
357
  /* Size of default input buffer. */
160
358
  #ifndef YY_BUF_SIZE
359
+ #ifdef __ia64__
360
+ /* On IA-64, the buffer size is 16k, not 8k.
361
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
362
+ * Ditto for the __ia64__ case accordingly.
363
+ */
364
+ #define YY_BUF_SIZE 32768
365
+ #else
161
366
  #define YY_BUF_SIZE 16384
367
+ #endif /* __ia64__ */
162
368
  #endif
163
369
 
164
370
  /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -178,8 +384,9 @@ typedef size_t yy_size_t;
178
384
  #define EOB_ACT_CONTINUE_SCAN 0
179
385
  #define EOB_ACT_END_OF_FILE 1
180
386
  #define EOB_ACT_LAST_MATCH 2
181
-
387
+
182
388
  #define YY_LESS_LINENO(n)
389
+ #define YY_LINENO_REWIND_TO(ptr)
183
390
 
184
391
  /* Return all but the first "n" matched characters back to the input stream. */
185
392
  #define yyless(n) \
@@ -194,7 +401,6 @@ typedef size_t yy_size_t;
194
401
  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
195
402
  } \
196
403
  while ( 0 )
197
-
198
404
  #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
199
405
 
200
406
  #ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -209,12 +415,12 @@ struct yy_buffer_state
209
415
  /* Size of input buffer in bytes, not including room for EOB
210
416
  * characters.
211
417
  */
212
- yy_size_t yy_buf_size;
418
+ int yy_buf_size;
213
419
 
214
420
  /* Number of characters read into yy_ch_buf, not including EOB
215
421
  * characters.
216
422
  */
217
- yy_size_t yy_n_chars;
423
+ int yy_n_chars;
218
424
 
219
425
  /* Whether we "own" the buffer - i.e., we know we created it,
220
426
  * and can realloc() it to grow it, and should free() it to
@@ -237,7 +443,7 @@ struct yy_buffer_state
237
443
 
238
444
  int yy_bs_lineno; /**< The line count. */
239
445
  int yy_bs_column; /**< The column count. */
240
-
446
+
241
447
  /* Whether to try to fill the input buffer when we reach the
242
448
  * end of it.
243
449
  */
@@ -254,7 +460,7 @@ struct yy_buffer_state
254
460
  * possible backing-up.
255
461
  *
256
462
  * When we actually see the EOF, we change the status to "new"
257
- * (via linguist_yyrestart()), so that the user can continue scanning by
463
+ * (via yyrestart()), so that the user can continue scanning by
258
464
  * just pointing yyin at a new input file.
259
465
  */
260
466
  #define YY_BUFFER_EOF_PENDING 2
@@ -271,83 +477,77 @@ struct yy_buffer_state
271
477
  #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
272
478
  ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
273
479
  : NULL)
274
-
275
480
  /* Same as previous macro, but useful when we know that the buffer stack is not
276
481
  * NULL or when we need an lvalue. For internal use only.
277
482
  */
278
483
  #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
279
484
 
280
- void linguist_yyrestart (FILE *input_file ,yyscan_t yyscanner );
281
- void linguist_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
282
- YY_BUFFER_STATE linguist_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
283
- void linguist_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
284
- void linguist_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
285
- void linguist_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
286
- void linguist_yypop_buffer_state (yyscan_t yyscanner );
287
-
288
- static void linguist_yyensure_buffer_stack (yyscan_t yyscanner );
289
- static void linguist_yy_load_buffer_state (yyscan_t yyscanner );
290
- static void linguist_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
485
+ void yyrestart ( FILE *input_file , yyscan_t yyscanner );
486
+ void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
487
+ YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
488
+ void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
489
+ void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
490
+ void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
491
+ void yypop_buffer_state ( yyscan_t yyscanner );
291
492
 
292
- #define YY_FLUSH_BUFFER linguist_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
493
+ static void yyensure_buffer_stack ( yyscan_t yyscanner );
494
+ static void yy_load_buffer_state ( yyscan_t yyscanner );
495
+ static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
496
+ #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
293
497
 
294
- YY_BUFFER_STATE linguist_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
295
- YY_BUFFER_STATE linguist_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
296
- YY_BUFFER_STATE linguist_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
498
+ YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
499
+ YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
500
+ YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
297
501
 
298
- void *linguist_yyalloc (yy_size_t ,yyscan_t yyscanner );
299
- void *linguist_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
300
- void linguist_yyfree (void * ,yyscan_t yyscanner );
301
-
302
- #define yy_new_buffer linguist_yy_create_buffer
502
+ void *yyalloc ( yy_size_t , yyscan_t yyscanner );
503
+ void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
504
+ void yyfree ( void * , yyscan_t yyscanner );
303
505
 
506
+ #define yy_new_buffer yy_create_buffer
304
507
  #define yy_set_interactive(is_interactive) \
305
508
  { \
306
509
  if ( ! YY_CURRENT_BUFFER ){ \
307
- linguist_yyensure_buffer_stack (yyscanner); \
510
+ yyensure_buffer_stack (yyscanner); \
308
511
  YY_CURRENT_BUFFER_LVALUE = \
309
- linguist_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
512
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
310
513
  } \
311
514
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
312
515
  }
313
-
314
516
  #define yy_set_bol(at_bol) \
315
517
  { \
316
518
  if ( ! YY_CURRENT_BUFFER ){\
317
- linguist_yyensure_buffer_stack (yyscanner); \
519
+ yyensure_buffer_stack (yyscanner); \
318
520
  YY_CURRENT_BUFFER_LVALUE = \
319
- linguist_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
521
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
320
522
  } \
321
523
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
322
524
  }
323
-
324
525
  #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
325
526
 
326
527
  /* Begin user sect3 */
327
-
328
- typedef unsigned char YY_CHAR;
528
+ typedef flex_uint8_t YY_CHAR;
329
529
 
330
530
  typedef int yy_state_type;
331
531
 
332
532
  #define yytext_ptr yytext_r
333
533
 
334
- static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
335
- static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
336
- static int yy_get_next_buffer (yyscan_t yyscanner );
337
- static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
534
+ static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
535
+ static yy_state_type yy_try_NUL_trans ( yy_state_type current_state , yyscan_t yyscanner);
536
+ static int yy_get_next_buffer ( yyscan_t yyscanner );
537
+ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
338
538
 
339
539
  /* Done after the current pattern has been matched and before the
340
540
  * corresponding action - sets up yytext.
341
541
  */
342
542
  #define YY_DO_BEFORE_ACTION \
343
543
  yyg->yytext_ptr = yy_bp; \
344
- yyleng = (yy_size_t) (yy_cp - yy_bp); \
544
+ yyg->yytext_ptr -= yyg->yy_more_len; \
545
+ yyleng = (int) (yy_cp - yyg->yytext_ptr); \
345
546
  yyg->yy_hold_char = *yy_cp; \
346
547
  *yy_cp = '\0'; \
347
548
  yyg->yy_c_buf_p = yy_cp;
348
-
349
- #define YY_NUM_RULES 31
350
- #define YY_END_OF_BUFFER 32
549
+ #define YY_NUM_RULES 45
550
+ #define YY_END_OF_BUFFER 46
351
551
  /* This struct is not used in this scanner,
352
552
  but its presence is necessary. */
353
553
  struct yy_trans_info
@@ -355,39 +555,82 @@ struct yy_trans_info
355
555
  flex_int32_t yy_verify;
356
556
  flex_int32_t yy_nxt;
357
557
  };
358
- static yyconst flex_int16_t yy_accept[114] =
558
+ static const flex_int16_t yy_acclist[262] =
559
+ { 0,
560
+ 46, 44, 45, 42, 44, 45,16422, 31, 44, 45,
561
+ 42, 44, 45,16422, 32, 44, 45, 36, 44, 45,
562
+ 36, 44, 45, 43, 44, 45, 33, 34, 44, 45,
563
+ 33, 34, 44, 45, 43, 44, 45, 34, 44, 45,
564
+ 36, 44, 45, 34, 42, 44, 45,16422, 36, 44,
565
+ 45, 44, 45, 31, 44, 45, 42, 44, 45,16422,
566
+ 42, 44, 45,16422, 32, 44, 45, 42, 44, 45,
567
+ 16422, 42, 44, 45,16422, 43, 44, 45, 42, 44,
568
+ 45,16422, 22, 45, 22, 45, 22, 45, 22, 45,
569
+ 22, 45, 22, 45, 22, 45, 22, 45, 45, 42,
570
+
571
+ 45,16422, 43, 45, 37, 42,16422, 30, 34, 37,
572
+ 34, 42,16422, 30, 35, 18, 39, 15, 33, 33,
573
+ 34, 34, 34, 33, 34, 33, 34, 34, 17, 8,
574
+ 8, 3, 37, 3, 37, 42,16422, 42,16422, 7,
575
+ 37, 7, 37, 42,16422, 42,16422, 37, 42,16422,
576
+ 34, 37, 5, 9, 37, 9, 37, 42,16422, 23,
577
+ 25, 26, 8230, 19, 20, 14, 13, 41, 33, 33,
578
+ 33, 33, 34, 33, 34, 3, 3, 7, 7, 5,
579
+ 9, 9, 8, 3, 37, 2, 37, 2, 37, 2,
580
+ 42,16422, 2, 37, 7, 11, 6, 37, 6, 37,
581
+
582
+ 10, 37, 34, 5, 39, 5, 39, 5, 5, 5,
583
+ 41, 5, 5, 9, 24, 27, 28, 29, 12, 33,
584
+ 33, 33, 34, 33, 33, 34, 33, 34, 33, 34,
585
+ 16, 6, 6, 5, 2, 2, 2, 2, 11, 11,
586
+ 6, 10, 10, 10, 21, 4, 5, 4, 5, 5,
587
+ 40, 33, 33, 33, 2, 4, 5, 5, 5, 40,
588
+ 1
589
+ } ;
590
+
591
+ static const flex_int16_t yy_accept[211] =
359
592
  { 0,
360
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361
- 0, 0, 0, 0, 0, 0, 32, 30, 17, 28,
362
- 29, 29, 18, 27, 27, 28, 28, 19, 19, 29,
363
- 27, 29, 30, 17, 28, 29, 29, 28, 26, 24,
364
- 25, 9, 9, 9, 9, 9, 9, 9, 16, 28,
365
- 29, 16, 6, 4, 19, 28, 19, 19, 28, 20,
366
- 29, 5, 29, 0, 0, 0, 0, 3, 0, 28,
367
- 24, 23, 10, 0, 12, 13, 0, 0, 7, 8,
368
- 19, 19, 19, 3, 0, 2, 0, 2, 2, 21,
369
- 22, 23, 11, 14, 15, 19, 19, 19, 19, 19,
370
-
371
- 19, 0, 2, 0, 2, 0, 0, 0, 0, 0,
372
- 1, 0, 0
593
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
594
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
595
+ 4, 8, 11, 15, 18, 21, 24, 27, 31, 35,
596
+ 38, 41, 44, 49, 52, 54, 57, 61, 65, 68,
597
+ 72, 76, 79, 83, 85, 87, 89, 91, 93, 95,
598
+ 97, 99, 100, 103, 105, 106, 108, 108, 108, 109,
599
+ 111, 114, 115, 116, 117, 118, 119, 119, 119, 120,
600
+ 122, 123, 124, 126, 128, 129, 129, 130, 130, 130,
601
+ 130, 130, 130, 130, 130, 131, 132, 134, 136, 138,
602
+ 140, 142, 144, 146, 146, 146, 148, 149, 151, 153,
603
+
604
+ 154, 156, 158, 160, 161, 161, 162, 163, 163, 163,
605
+ 163, 164, 164, 165, 166, 167, 168, 169, 169, 169,
606
+ 170, 171, 172, 174, 176, 176, 177, 178, 179, 180,
607
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 190,
608
+ 193, 195, 196, 197, 199, 201, 201, 201, 203, 204,
609
+ 206, 208, 209, 210, 212, 213, 214, 215, 216, 217,
610
+ 218, 219, 219, 220, 220, 221, 222, 224, 225, 227,
611
+ 229, 231, 232, 233, 234, 235, 235, 236, 236, 237,
612
+ 238, 238, 239, 240, 241, 242, 243, 244, 245, 246,
613
+ 248, 250, 251, 252, 253, 254, 255, 255, 256, 258,
614
+
615
+ 259, 259, 259, 261, 261, 261, 261, 262, 262, 262
373
616
  } ;
374
617
 
375
- static yyconst flex_int32_t yy_ec[256] =
618
+ static const YY_CHAR yy_ec[256] =
376
619
  { 0,
377
620
  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
378
621
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
379
622
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
380
- 1, 4, 5, 6, 7, 1, 8, 9, 10, 11,
381
- 12, 13, 14, 1, 15, 16, 17, 18, 19, 19,
382
- 19, 19, 19, 19, 19, 19, 19, 1, 20, 21,
383
- 22, 23, 24, 25, 26, 26, 26, 26, 27, 28,
384
- 29, 29, 29, 29, 29, 30, 29, 29, 29, 29,
385
- 29, 29, 29, 29, 31, 29, 29, 29, 29, 29,
386
- 32, 1, 33, 1, 29, 1, 26, 26, 26, 26,
387
-
388
- 34, 28, 29, 29, 29, 29, 29, 30, 29, 35,
389
- 29, 29, 29, 29, 29, 29, 31, 36, 29, 37,
390
- 29, 29, 38, 39, 40, 1, 1, 1, 1, 1,
623
+ 1, 4, 5, 6, 7, 8, 9, 8, 10, 11,
624
+ 12, 13, 14, 8, 15, 16, 17, 18, 19, 19,
625
+ 19, 19, 19, 19, 19, 19, 19, 8, 20, 21,
626
+ 22, 23, 8, 24, 25, 25, 25, 25, 26, 27,
627
+ 28, 28, 28, 28, 28, 29, 28, 28, 28, 28,
628
+ 28, 28, 28, 28, 30, 28, 28, 28, 28, 28,
629
+ 31, 32, 33, 8, 34, 8, 25, 25, 25, 25,
630
+
631
+ 35, 27, 36, 28, 37, 28, 28, 29, 28, 38,
632
+ 28, 28, 28, 28, 28, 28, 30, 39, 28, 40,
633
+ 28, 28, 41, 8, 42, 8, 1, 1, 1, 1,
391
634
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
392
635
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
393
636
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -404,162 +647,284 @@ static yyconst flex_int32_t yy_ec[256] =
404
647
  1, 1, 1, 1, 1
405
648
  } ;
406
649
 
407
- static yyconst flex_int32_t yy_meta[41] =
650
+ static const YY_CHAR yy_meta[43] =
408
651
  { 0,
409
- 1, 2, 3, 2, 4, 5, 6, 1, 1, 5,
410
- 1, 1, 6, 1, 4, 7, 8, 9, 9, 1,
411
- 4, 10, 1, 4, 6, 9, 9, 9, 9, 9,
412
- 9, 1, 1, 9, 9, 9, 9, 1, 1, 1
652
+ 1, 2, 3, 2, 4, 1, 4, 4, 4, 1,
653
+ 1, 1, 1, 4, 4, 4, 5, 6, 6, 4,
654
+ 1, 4, 4, 4, 6, 6, 6, 6, 6, 6,
655
+ 1, 4, 1, 7, 6, 6, 6, 6, 6, 6,
656
+ 1, 1
413
657
  } ;
414
658
 
415
- static yyconst flex_int16_t yy_base[125] =
659
+ static const flex_int16_t yy_base[228] =
416
660
  { 0,
417
- 0, 39, 39, 59, 214, 213, 210, 209, 208, 207,
418
- 208, 207, 213, 212, 207, 206, 215, 358, 208, 0,
419
- 358, 204, 202, 197, 358, 0, 194, 90, 112, 185,
420
- 190, 165, 145, 38, 44, 199, 184, 38, 358, 174,
421
- 358, 358, 178, 179, 151, 176, 180, 174, 174, 0,
422
- 358, 168, 358, 0, 0, 38, 31, 140, 137, 140,
423
- 358, 358, 358, 0, 154, 139, 133, 0, 155, 141,
424
- 122, 54, 358, 118, 358, 358, 131, 113, 358, 358,
425
- 53, 84, 174, 0, 164, 96, 62, 100, 28, 358,
426
- 358, 74, 358, 358, 358, 157, 71, 0, 0, 77,
427
-
428
- 0, 88, 14, 94, 108, 96, 207, 131, 175, 134,
429
- 243, 165, 358, 280, 290, 295, 301, 302, 312, 321,
430
- 326, 328, 337, 347
661
+ 0, 41, 521, 520, 517, 516, 515, 514, 514, 505,
662
+ 511, 510, 499, 498, 490, 489, 57, 87, 504, 680,
663
+ 117, 497, 151, 492, 40, 680, 42, 178, 461, 206,
664
+ 0, 467, 0, 34, 226, 79, 83, 244, 65, 114,
665
+ 110, 208, 235, 680, 482, 483, 455, 484, 489, 484,
666
+ 477, 680, 141, 256, 680, 233, 479, 486, 484, 0,
667
+ 0, 478, 680, 680, 680, 41, 258, 267, 273, 445,
668
+ 0, 84, 86, 455, 279, 468, 680, 0, 102, 195,
669
+ 278, 467, 462, 206, 680, 0, 680, 0, 313, 309,
670
+ 680, 0, 0, 218, 469, 292, 305, 316, 438, 353,
671
+
672
+ 680, 0, 324, 680, 448, 680, 680, 462, 455, 461,
673
+ 680, 448, 680, 680, 680, 445, 680, 446, 113, 119,
674
+ 427, 378, 417, 392, 397, 680, 0, 680, 0, 132,
675
+ 251, 680, 0, 0, 0, 396, 431, 392, 227, 399,
676
+ 386, 0, 403, 680, 0, 421, 396, 333, 326, 318,
677
+ 680, 197, 307, 280, 269, 55, 0, 680, 680, 680,
678
+ 680, 255, 680, 219, 202, 410, 0, 451, 0, 271,
679
+ 0, 680, 680, 0, 680, 322, 211, 178, 310, 403,
680
+ 228, 391, 140, 680, 0, 117, 113, 680, 680, 680,
681
+ 90, 331, 680, 680, 279, 0, 273, 438, 81, 440,
682
+
683
+ 419, 485, 41, 443, 450, 418, 524, 455, 680, 564,
684
+ 571, 578, 585, 586, 593, 600, 607, 614, 621, 627,
685
+ 630, 637, 644, 651, 658, 665, 672
431
686
  } ;
432
687
 
433
- static yyconst flex_int16_t yy_def[125] =
688
+ static const flex_int16_t yy_def[228] =
434
689
  { 0,
435
- 113, 1, 114, 114, 115, 115, 115, 115, 115, 115,
436
- 115, 115, 115, 115, 115, 115, 113, 113, 113, 116,
437
- 113, 113, 113, 113, 113, 116, 116, 113, 116, 117,
438
- 113, 113, 113, 113, 116, 113, 113, 116, 113, 118,
439
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 116,
440
- 113, 113, 113, 116, 29, 116, 116, 116, 116, 117,
441
- 113, 113, 113, 33, 113, 113, 113, 119, 120, 116,
442
- 118, 121, 113, 113, 113, 113, 113, 113, 113, 113,
443
- 113, 116, 29, 119, 120, 85, 122, 85, 88, 113,
444
- 113, 121, 113, 113, 113, 113, 113, 116, 83, 83,
445
-
446
- 83, 122, 88, 122, 88, 122, 123, 122, 123, 124,
447
- 123, 124, 0, 113, 113, 113, 113, 113, 113, 113,
448
- 113, 113, 113, 113
690
+ 209, 1, 210, 210, 210, 210, 210, 210, 210, 210,
691
+ 210, 210, 210, 210, 210, 210, 211, 211, 209, 209,
692
+ 212, 209, 209, 209, 209, 209, 213, 209, 28, 213,
693
+ 214, 209, 23, 209, 209, 209, 23, 212, 209, 38,
694
+ 23, 213, 38, 209, 209, 209, 209, 209, 209, 209,
695
+ 209, 209, 38, 213, 209, 38, 209, 209, 209, 214,
696
+ 23, 209, 209, 209, 209, 209, 213, 213, 209, 28,
697
+ 214, 214, 214, 214, 214, 209, 209, 35, 209, 209,
698
+ 209, 209, 209, 209, 209, 215, 209, 216, 23, 38,
699
+ 209, 217, 38, 209, 209, 38, 209, 38, 214, 209,
700
+
701
+ 209, 218, 38, 209, 209, 209, 209, 209, 209, 209,
702
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
703
+ 209, 209, 214, 28, 209, 209, 216, 209, 217, 209,
704
+ 219, 209, 218, 215, 216, 220, 220, 221, 137, 89,
705
+ 137, 217, 222, 209, 223, 209, 209, 224, 214, 219,
706
+ 209, 219, 219, 219, 100, 100, 218, 209, 209, 209,
707
+ 209, 209, 209, 209, 209, 209, 214, 209, 124, 124,
708
+ 124, 209, 209, 223, 209, 137, 137, 221, 137, 137,
709
+ 221, 137, 222, 209, 223, 224, 224, 209, 209, 209,
710
+ 225, 219, 209, 209, 168, 168, 221, 137, 225, 219,
711
+
712
+ 221, 226, 219, 221, 226, 227, 226, 227, 0, 209,
713
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
714
+ 209, 209, 209, 209, 209, 209, 209
449
715
  } ;
450
716
 
451
- static yyconst flex_int16_t yy_nxt[399] =
717
+ static const flex_int16_t yy_nxt[723] =
452
718
  { 0,
453
- 18, 18, 18, 18, 18, 19, 20, 21, 22, 23,
454
- 24, 25, 26, 21, 21, 20, 27, 28, 29, 25,
455
- 30, 18, 18, 18, 20, 20, 20, 20, 20, 20,
456
- 20, 25, 25, 20, 20, 20, 20, 31, 32, 25,
457
- 33, 68, 33, 49, 34, 35, 36, 68, 69, 105,
458
- 54, 81, 81, 37, 70, 38, 40, 40, 57, 90,
459
- 57, 41, 103, 91, 40, 40, 40, 40, 40, 40,
460
- 96, 96, 40, 40, 40, 40, 40, 40, 102, 113,
461
- 97, 41, 97, 113, 40, 40, 40, 40, 40, 40,
462
- 81, 81, 40, 40, 40, 40, 50, 113, 97, 113,
463
-
464
- 97, 113, 50, 113, 102, 55, 50, 55, 55, 107,
465
- 102, 107, 102, 98, 50, 50, 56, 57, 50, 57,
466
- 58, 104, 95, 56, 50, 50, 59, 55, 106, 55,
467
- 55, 108, 107, 88, 107, 107, 94, 107, 56, 57,
468
- 93, 57, 58, 72, 68, 56, 64, 102, 64, 65,
469
- 65, 65, 65, 65, 83, 83, 85, 68, 85, 66,
470
- 113, 67, 83, 83, 83, 85, 107, 85, 107, 82,
471
- 83, 86, 87, 87, 96, 96, 113, 80, 113, 79,
472
- 86, 87, 87, 78, 97, 77, 97, 76, 89, 99,
473
- 75, 99, 99, 74, 73, 72, 110, 89, 65, 99,
474
-
475
- 100, 101, 68, 63, 62, 61, 54, 100, 107, 53,
476
- 107, 52, 51, 49, 113, 48, 48, 47, 47, 46,
477
- 46, 45, 45, 44, 44, 43, 43, 113, 110, 113,
478
- 113, 113, 111, 111, 111, 111, 111, 111, 113, 113,
479
- 111, 111, 111, 111, 113, 113, 113, 113, 113, 113,
480
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
481
- 113, 113, 113, 113, 110, 113, 113, 113, 111, 111,
482
- 111, 111, 111, 111, 113, 113, 111, 111, 111, 111,
483
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
484
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
485
-
486
- 50, 50, 50, 50, 60, 113, 113, 60, 60, 60,
487
- 71, 71, 84, 84, 113, 84, 84, 84, 84, 84,
488
- 84, 84, 88, 113, 113, 113, 113, 113, 88, 88,
489
- 92, 113, 113, 113, 92, 87, 87, 109, 109, 109,
490
- 109, 109, 109, 109, 109, 109, 109, 112, 112, 112,
491
- 112, 112, 112, 112, 112, 112, 112, 17, 113, 113,
492
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
493
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
494
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
495
- 113, 113, 113, 113, 113, 113, 113, 113
496
-
719
+ 20, 20, 20, 20, 21, 22, 23, 21, 21, 24,
720
+ 25, 26, 21, 21, 21, 23, 27, 28, 29, 21,
721
+ 30, 21, 21, 23, 31, 31, 31, 31, 31, 31,
722
+ 32, 21, 26, 33, 31, 31, 31, 31, 31, 31,
723
+ 34, 26, 35, 175, 35, 115, 36, 37, 77, 38,
724
+ 39, 63, 64, 116, 66, 40, 41, 42, 67, 192,
725
+ 43, 53, 68, 53, 53, 53, 94, 153, 94, 53,
726
+ 53, 53, 53, 54, 62, 63, 53, 54, 53, 53,
727
+ 53, 85, 86, 175, 59, 87, 88, 89, 53, 90,
728
+ 53, 53, 175, 53, 53, 53, 95, 122, 122, 53,
729
+
730
+ 53, 53, 53, 54, 85, 86, 53, 54, 53, 53,
731
+ 53, 97, 73, 97, 73, 209, 55, 55, 53, 188,
732
+ 53, 56, 56, 56, 56, 56, 122, 122, 96, 56,
733
+ 56, 56, 56, 57, 173, 174, 56, 58, 56, 56,
734
+ 56, 98, 209, 55, 55, 120, 99, 120, 56, 56,
735
+ 56, 55, 55, 55, 55, 56, 55, 56, 56, 56,
736
+ 55, 55, 55, 56, 56, 56, 56, 57, 60, 60,
737
+ 56, 58, 56, 56, 56, 60, 60, 60, 60, 60,
738
+ 60, 55, 56, 55, 61, 60, 60, 60, 60, 60,
739
+ 60, 55, 55, 69, 181, 70, 70, 126, 127, 190,
740
+
741
+ 191, 80, 71, 72, 73, 71, 73, 74, 132, 133,
742
+ 76, 71, 72, 71, 71, 71, 71, 75, 209, 94,
743
+ 66, 94, 67, 209, 100, 84, 68, 78, 68, 78,
744
+ 194, 79, 80, 193, 81, 55, 55, 101, 102, 209,
745
+ 82, 56, 83, 56, 181, 84, 91, 92, 56, 95,
746
+ 56, 56, 93, 175, 103, 152, 56, 56, 56, 56,
747
+ 57, 179, 197, 56, 58, 56, 56, 56, 209, 111,
748
+ 117, 118, 67, 153, 67, 56, 68, 56, 68, 209,
749
+ 128, 129, 175, 67, 122, 122, 81, 68, 69, 181,
750
+ 69, 69, 122, 122, 144, 145, 124, 124, 119, 120,
751
+
752
+ 56, 120, 121, 124, 124, 124, 146, 119, 146, 175,
753
+ 201, 87, 88, 124, 136, 90, 136, 56, 55, 55,
754
+ 175, 148, 209, 176, 56, 176, 101, 102, 189, 137,
755
+ 138, 138, 56, 175, 209, 188, 147, 139, 139, 139,
756
+ 139, 139, 139, 103, 179, 200, 140, 141, 139, 139,
757
+ 139, 139, 139, 150, 150, 151, 150, 152, 150, 153,
758
+ 153, 153, 150, 150, 150, 154, 153, 153, 153, 155,
759
+ 150, 150, 153, 156, 153, 153, 153, 150, 150, 150,
760
+ 150, 150, 150, 150, 153, 150, 153, 150, 150, 150,
761
+ 150, 150, 150, 150, 150, 166, 166, 176, 209, 176,
762
+
763
+ 55, 186, 55, 209, 120, 184, 120, 168, 181, 169,
764
+ 169, 172, 177, 178, 178, 209, 169, 170, 171, 202,
765
+ 179, 202, 146, 182, 146, 179, 170, 166, 166, 198,
766
+ 180, 71, 209, 139, 209, 181, 120, 179, 120, 202,
767
+ 182, 202, 175, 111, 202, 167, 202, 177, 178, 178,
768
+ 209, 209, 147, 209, 203, 165, 202, 204, 202, 181,
769
+ 164, 163, 162, 161, 160, 180, 168, 159, 168, 168,
770
+ 158, 206, 179, 149, 143, 168, 195, 196, 131, 120,
771
+ 121, 130, 125, 123, 71, 195, 202, 114, 202, 113,
772
+ 112, 111, 110, 109, 108, 107, 106, 105, 104, 63,
773
+
774
+ 71, 62, 59, 209, 51, 51, 206, 50, 50, 207,
775
+ 207, 207, 207, 207, 207, 49, 49, 48, 207, 207,
776
+ 207, 207, 207, 207, 207, 209, 48, 209, 47, 47,
777
+ 46, 46, 45, 45, 209, 209, 209, 209, 209, 209,
778
+ 209, 209, 209, 209, 209, 206, 209, 209, 207, 207,
779
+ 207, 207, 207, 207, 209, 209, 209, 207, 207, 207,
780
+ 207, 207, 207, 207, 44, 44, 44, 44, 44, 44,
781
+ 44, 52, 52, 52, 52, 52, 52, 52, 55, 55,
782
+ 55, 55, 55, 55, 55, 65, 65, 65, 209, 65,
783
+ 65, 71, 71, 134, 134, 209, 134, 134, 134, 134,
784
+
785
+ 135, 135, 209, 135, 135, 135, 135, 142, 142, 209,
786
+ 142, 142, 142, 142, 157, 157, 209, 157, 157, 157,
787
+ 157, 153, 153, 153, 153, 153, 153, 153, 179, 209,
788
+ 209, 179, 179, 179, 178, 178, 178, 183, 183, 183,
789
+ 183, 183, 183, 183, 185, 185, 209, 185, 185, 185,
790
+ 185, 187, 187, 187, 187, 187, 187, 187, 199, 199,
791
+ 199, 199, 199, 199, 199, 205, 205, 205, 205, 205,
792
+ 205, 205, 208, 208, 208, 208, 208, 208, 208, 19,
793
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
794
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
795
+
796
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
797
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
798
+ 209, 209
497
799
  } ;
498
800
 
499
- static yyconst flex_int16_t yy_chk[399] =
801
+ static const flex_int16_t yy_chk[723] =
500
802
  { 0,
501
803
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
502
804
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
503
805
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
504
806
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
505
- 2, 34, 2, 34, 2, 2, 2, 35, 35, 103,
506
- 38, 56, 56, 2, 38, 2, 3, 3, 57, 72,
507
- 57, 3, 89, 72, 3, 3, 3, 3, 3, 3,
508
- 81, 81, 3, 3, 3, 3, 4, 4, 87, 92,
509
- 81, 4, 81, 92, 4, 4, 4, 4, 4, 4,
510
- 100, 100, 4, 4, 4, 4, 28, 86, 97, 86,
511
-
512
- 97, 88, 28, 88, 102, 28, 28, 28, 28, 105,
513
- 104, 105, 106, 82, 28, 28, 28, 28, 28, 28,
514
- 28, 102, 78, 28, 28, 28, 28, 29, 104, 29,
515
- 29, 106, 108, 88, 108, 110, 77, 110, 29, 29,
516
- 74, 29, 29, 71, 70, 29, 33, 108, 33, 67,
517
- 33, 33, 33, 66, 59, 59, 69, 65, 69, 33,
518
- 60, 33, 59, 59, 59, 85, 112, 85, 112, 58,
519
- 59, 69, 69, 69, 96, 96, 109, 52, 109, 49,
520
- 85, 85, 85, 48, 96, 47, 96, 46, 69, 83,
521
- 45, 83, 83, 44, 43, 40, 109, 85, 37, 83,
522
-
523
- 83, 83, 36, 32, 31, 30, 27, 83, 107, 24,
524
- 107, 23, 22, 19, 17, 16, 15, 14, 13, 12,
525
- 11, 10, 9, 8, 7, 6, 5, 0, 107, 0,
526
- 0, 0, 107, 107, 107, 107, 107, 107, 0, 0,
527
- 107, 107, 107, 107, 111, 0, 111, 0, 0, 0,
528
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
529
- 0, 0, 0, 0, 111, 0, 0, 0, 111, 111,
530
- 111, 111, 111, 111, 0, 0, 111, 111, 111, 111,
531
- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
532
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
533
-
534
- 116, 116, 116, 116, 117, 0, 0, 117, 117, 117,
535
- 118, 118, 119, 119, 0, 119, 119, 119, 119, 119,
536
- 119, 119, 120, 0, 0, 0, 0, 0, 120, 120,
537
- 121, 0, 0, 0, 121, 122, 122, 123, 123, 123,
538
- 123, 123, 123, 123, 123, 123, 123, 124, 124, 124,
539
- 124, 124, 124, 124, 124, 124, 124, 113, 113, 113,
540
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
541
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
542
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
543
- 113, 113, 113, 113, 113, 113, 113, 113
544
-
807
+ 1, 1, 2, 203, 2, 66, 2, 2, 34, 2,
808
+ 2, 25, 25, 66, 27, 2, 2, 2, 27, 156,
809
+ 2, 17, 27, 17, 17, 17, 39, 156, 39, 17,
810
+ 17, 17, 17, 17, 39, 34, 17, 17, 17, 17,
811
+ 17, 36, 36, 199, 36, 37, 37, 37, 17, 37,
812
+ 17, 18, 191, 18, 18, 18, 39, 72, 72, 18,
813
+
814
+ 18, 18, 18, 18, 79, 79, 18, 18, 18, 18,
815
+ 18, 41, 73, 41, 73, 187, 40, 40, 18, 186,
816
+ 18, 21, 40, 21, 21, 21, 119, 119, 40, 21,
817
+ 21, 21, 21, 21, 130, 130, 21, 21, 21, 21,
818
+ 21, 41, 183, 53, 53, 120, 41, 120, 21, 53,
819
+ 21, 23, 23, 23, 23, 23, 23, 23, 23, 23,
820
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
821
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
822
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
823
+ 23, 23, 23, 28, 178, 28, 28, 80, 80, 152,
824
+
825
+ 152, 80, 28, 28, 28, 28, 28, 28, 84, 84,
826
+ 30, 28, 28, 28, 28, 28, 28, 28, 30, 94,
827
+ 42, 94, 30, 177, 42, 84, 30, 35, 42, 35,
828
+ 165, 35, 35, 164, 35, 56, 56, 43, 43, 139,
829
+ 35, 56, 35, 43, 181, 35, 38, 38, 38, 94,
830
+ 38, 38, 38, 131, 43, 131, 38, 38, 38, 38,
831
+ 38, 139, 181, 38, 38, 38, 38, 38, 54, 162,
832
+ 67, 68, 54, 155, 67, 38, 54, 38, 67, 68,
833
+ 81, 81, 154, 68, 170, 170, 81, 68, 69, 197,
834
+ 69, 69, 195, 195, 96, 96, 75, 75, 69, 69,
835
+
836
+ 96, 69, 69, 75, 75, 75, 97, 69, 97, 153,
837
+ 197, 90, 90, 75, 89, 90, 89, 90, 98, 98,
838
+ 150, 98, 179, 176, 98, 176, 103, 103, 149, 89,
839
+ 89, 89, 103, 192, 176, 148, 97, 89, 89, 89,
840
+ 89, 89, 89, 103, 179, 192, 89, 89, 89, 89,
841
+ 89, 89, 89, 100, 100, 100, 100, 100, 100, 100,
842
+ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
843
+ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
844
+ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
845
+ 100, 100, 100, 100, 100, 122, 122, 136, 141, 136,
846
+
847
+ 140, 147, 140, 182, 122, 143, 122, 124, 138, 124,
848
+ 124, 125, 136, 136, 136, 180, 124, 124, 124, 206,
849
+ 141, 206, 146, 141, 146, 182, 124, 166, 166, 182,
850
+ 136, 124, 137, 140, 137, 201, 166, 180, 166, 198,
851
+ 180, 198, 200, 137, 204, 123, 204, 137, 137, 137,
852
+ 198, 205, 146, 205, 200, 121, 208, 201, 208, 204,
853
+ 118, 116, 112, 110, 109, 137, 168, 108, 168, 168,
854
+ 105, 205, 198, 99, 95, 168, 168, 168, 83, 168,
855
+ 168, 82, 76, 74, 70, 168, 202, 62, 202, 59,
856
+ 58, 57, 51, 50, 49, 48, 47, 46, 45, 32,
857
+
858
+ 29, 24, 22, 19, 16, 15, 202, 14, 13, 202,
859
+ 202, 202, 202, 202, 202, 12, 11, 10, 202, 202,
860
+ 202, 202, 202, 202, 202, 207, 9, 207, 8, 7,
861
+ 6, 5, 4, 3, 0, 0, 0, 0, 0, 0,
862
+ 0, 0, 0, 0, 0, 207, 0, 0, 207, 207,
863
+ 207, 207, 207, 207, 0, 0, 0, 207, 207, 207,
864
+ 207, 207, 207, 207, 210, 210, 210, 210, 210, 210,
865
+ 210, 211, 211, 211, 211, 211, 211, 211, 212, 212,
866
+ 212, 212, 212, 212, 212, 213, 213, 213, 0, 213,
867
+ 213, 214, 214, 215, 215, 0, 215, 215, 215, 215,
868
+
869
+ 216, 216, 0, 216, 216, 216, 216, 217, 217, 0,
870
+ 217, 217, 217, 217, 218, 218, 0, 218, 218, 218,
871
+ 218, 219, 219, 219, 219, 219, 219, 219, 220, 0,
872
+ 0, 220, 220, 220, 221, 221, 221, 222, 222, 222,
873
+ 222, 222, 222, 222, 223, 223, 0, 223, 223, 223,
874
+ 223, 224, 224, 224, 224, 224, 224, 224, 225, 225,
875
+ 225, 225, 225, 225, 225, 226, 226, 226, 226, 226,
876
+ 226, 226, 227, 227, 227, 227, 227, 227, 227, 209,
877
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
878
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
879
+
880
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
881
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
882
+ 209, 209
545
883
  } ;
546
884
 
547
- /* The intent behind this definition is that it'll catch
548
- * any uses of REJECT which flex missed.
549
- */
550
- #define REJECT reject_used_but_not_detected
551
- #define yymore() yymore_used_but_not_detected
552
- #define YY_MORE_ADJ 0
885
+ #define YY_TRAILING_MASK 0x2000
886
+ #define YY_TRAILING_HEAD_MASK 0x4000
887
+ #define REJECT \
888
+ { \
889
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ \
890
+ yy_cp = yyg->yy_full_match; /* restore poss. backed-over text */ \
891
+ yyg->yy_lp = yyg->yy_full_lp; /* restore orig. accepting pos. */ \
892
+ yyg->yy_state_ptr = yyg->yy_full_state; /* restore orig. state */ \
893
+ yy_current_state = *yyg->yy_state_ptr; /* restore curr. state */ \
894
+ ++yyg->yy_lp; \
895
+ goto find_rule; \
896
+ }
897
+
898
+ #define yymore() (yyg->yy_more_flag = 1)
899
+ #define YY_MORE_ADJ yyg->yy_more_len
553
900
  #define YY_RESTORE_YY_MORE_OFFSET
554
901
  #line 1 "tokenizer.l"
555
902
  #line 2 "tokenizer.l"
556
903
 
557
- #include "linguist.h"
904
+ #include "ruby.h"
558
905
 
559
- #define feed_token(tok, typ) do { \
560
- yyextra->token = (tok); \
561
- yyextra->type = (typ); \
562
- } while (0)
906
+ // Anything longer is unlikely to be useful.
907
+ #define MAX_TOKEN_LEN 16
908
+
909
+ #define FEED2(s, l) do { \
910
+ const char* __s = (s); \
911
+ const size_t __l = (l); \
912
+ const size_t __cl = __l > MAX_TOKEN_LEN? MAX_TOKEN_LEN : __l; \
913
+ *yyextra = rb_str_new(__s, __cl); \
914
+ } while(0)
915
+
916
+ #define FEED1(s) FEED2(s, strlen(s))
917
+
918
+ #define FEED() FEED2(yytext, yyleng)
919
+
920
+ #define FEED_STATIC(s) FEED2(s, sizeof(s) - 1)
921
+
922
+ #define FEED_SHEBANG(s) do { \
923
+ const size_t __l = strlen(s); \
924
+ const size_t __cl = __l > MAX_TOKEN_LEN? MAX_TOKEN_LEN : __l; \
925
+ *yyextra = rb_str_new("SHEBANG#!", sizeof("SHEBANG#!") - 1); \
926
+ rb_str_cat(*yyextra, s, __cl); \
927
+ } while(0)
563
928
 
564
929
  #define eat_until_eol() do { \
565
930
  int c; \
@@ -584,17 +949,19 @@ static yyconst flex_int16_t yy_chk[399] =
584
949
  return 0; \
585
950
  } while (0)
586
951
 
952
+ #line 953 "lex.linguist_yy.c"
587
953
 
588
- #line 589 "lex.linguist_yy.c"
954
+ #line 955 "lex.linguist_yy.c"
589
955
 
590
956
  #define INITIAL 0
591
- #define sgml 1
592
- #define c_comment 2
593
- #define xml_comment 3
594
- #define haskell_comment 4
595
- #define ocaml_comment 5
596
- #define python_dcomment 6
597
- #define python_scomment 7
957
+ #define c_comment 1
958
+ #define xml_comment 2
959
+ #define haskell_comment 3
960
+ #define ocaml_comment 4
961
+ #define python_dcomment 5
962
+ #define python_scomment 6
963
+ #define roff_comment 7
964
+ #define punct 8
598
965
 
599
966
  #ifndef YY_NO_UNISTD_H
600
967
  /* Special case for "unistd.h", since it is non-ANSI. We include it way
@@ -604,7 +971,7 @@ static yyconst flex_int16_t yy_chk[399] =
604
971
  #include <unistd.h>
605
972
  #endif
606
973
 
607
- #define YY_EXTRA_TYPE struct tokenizer_extra *
974
+ #define YY_EXTRA_TYPE VALUE*
608
975
 
609
976
  /* Holds the entire state of the reentrant scanner. */
610
977
  struct yyguts_t
@@ -619,8 +986,8 @@ struct yyguts_t
619
986
  size_t yy_buffer_stack_max; /**< capacity of stack. */
620
987
  YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
621
988
  char yy_hold_char;
622
- yy_size_t yy_n_chars;
623
- yy_size_t yyleng_r;
989
+ int yy_n_chars;
990
+ int yyleng_r;
624
991
  char *yy_c_buf_p;
625
992
  int yy_init;
626
993
  int yy_start;
@@ -634,46 +1001,61 @@ struct yyguts_t
634
1001
  int yylineno_r;
635
1002
  int yy_flex_debug_r;
636
1003
 
1004
+ yy_state_type *yy_state_buf;
1005
+ yy_state_type *yy_state_ptr;
1006
+ char *yy_full_match;
1007
+ int yy_lp;
1008
+
1009
+ /* These are only needed for trailing context rules,
1010
+ * but there's no conditional variable for that yet. */
1011
+ int yy_looking_for_trail_begin;
1012
+ int yy_full_lp;
1013
+ int *yy_full_state;
1014
+
637
1015
  char *yytext_r;
638
1016
  int yy_more_flag;
639
1017
  int yy_more_len;
640
1018
 
641
1019
  }; /* end struct yyguts_t */
642
1020
 
643
- static int yy_init_globals (yyscan_t yyscanner );
1021
+ static int yy_init_globals ( yyscan_t yyscanner );
644
1022
 
645
- int linguist_yylex_init (yyscan_t* scanner);
1023
+ int yylex_init (yyscan_t* scanner);
646
1024
 
647
- int linguist_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
1025
+ int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
648
1026
 
649
1027
  /* Accessor methods to globals.
650
1028
  These are made visible to non-reentrant scanners for convenience. */
651
1029
 
652
- int linguist_yylex_destroy (yyscan_t yyscanner );
1030
+ int yylex_destroy ( yyscan_t yyscanner );
653
1031
 
654
- int linguist_yyget_debug (yyscan_t yyscanner );
1032
+ int yyget_debug ( yyscan_t yyscanner );
655
1033
 
656
- void linguist_yyset_debug (int debug_flag ,yyscan_t yyscanner );
1034
+ void yyset_debug ( int debug_flag , yyscan_t yyscanner );
657
1035
 
658
- YY_EXTRA_TYPE linguist_yyget_extra (yyscan_t yyscanner );
1036
+ YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
659
1037
 
660
- void linguist_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
1038
+ void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
661
1039
 
662
- FILE *linguist_yyget_in (yyscan_t yyscanner );
1040
+ FILE *yyget_in ( yyscan_t yyscanner );
663
1041
 
664
- void linguist_yyset_in (FILE * in_str ,yyscan_t yyscanner );
1042
+ void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
665
1043
 
666
- FILE *linguist_yyget_out (yyscan_t yyscanner );
1044
+ FILE *yyget_out ( yyscan_t yyscanner );
667
1045
 
668
- void linguist_yyset_out (FILE * out_str ,yyscan_t yyscanner );
1046
+ void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
669
1047
 
670
- yy_size_t linguist_yyget_leng (yyscan_t yyscanner );
1048
+ int yyget_leng ( yyscan_t yyscanner );
671
1049
 
672
- char *linguist_yyget_text (yyscan_t yyscanner );
1050
+ char *yyget_text ( yyscan_t yyscanner );
673
1051
 
674
- int linguist_yyget_lineno (yyscan_t yyscanner );
1052
+ int yyget_lineno ( yyscan_t yyscanner );
675
1053
 
676
- void linguist_yyset_lineno (int line_number ,yyscan_t yyscanner );
1054
+ void yyset_lineno ( int _line_number , yyscan_t yyscanner );
1055
+
1056
+ int yyget_column ( yyscan_t yyscanner );
1057
+
1058
+ void yyset_column ( int _column_no , yyscan_t yyscanner );
677
1059
 
678
1060
  /* Macros after this point can all be overridden by user definitions in
679
1061
  * section 1.
@@ -681,33 +1063,41 @@ void linguist_yyset_lineno (int line_number ,yyscan_t yyscanner );
681
1063
 
682
1064
  #ifndef YY_SKIP_YYWRAP
683
1065
  #ifdef __cplusplus
684
- extern "C" int linguist_yywrap (yyscan_t yyscanner );
1066
+ extern "C" int yywrap ( yyscan_t yyscanner );
685
1067
  #else
686
- extern int linguist_yywrap (yyscan_t yyscanner );
1068
+ extern int yywrap ( yyscan_t yyscanner );
1069
+ #endif
687
1070
  #endif
1071
+
1072
+ #ifndef YY_NO_UNPUT
1073
+
688
1074
  #endif
689
1075
 
690
1076
  #ifndef yytext_ptr
691
- static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
1077
+ static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
692
1078
  #endif
693
1079
 
694
1080
  #ifdef YY_NEED_STRLEN
695
- static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
1081
+ static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
696
1082
  #endif
697
1083
 
698
1084
  #ifndef YY_NO_INPUT
699
-
700
1085
  #ifdef __cplusplus
701
- static int yyinput (yyscan_t yyscanner );
1086
+ static int yyinput ( yyscan_t yyscanner );
702
1087
  #else
703
- static int input (yyscan_t yyscanner );
1088
+ static int input ( yyscan_t yyscanner );
704
1089
  #endif
705
1090
 
706
1091
  #endif
707
1092
 
708
1093
  /* Amount of stuff to slurp up with each read. */
709
1094
  #ifndef YY_READ_BUF_SIZE
1095
+ #ifdef __ia64__
1096
+ /* On IA-64, the buffer size is 16k, not 8k */
1097
+ #define YY_READ_BUF_SIZE 16384
1098
+ #else
710
1099
  #define YY_READ_BUF_SIZE 8192
1100
+ #endif /* __ia64__ */
711
1101
  #endif
712
1102
 
713
1103
  /* Copy whatever the last rule matched to the standard output. */
@@ -715,7 +1105,7 @@ static int input (yyscan_t yyscanner );
715
1105
  /* This used to be an fputs(), but since the string might contain NUL's,
716
1106
  * we now use fwrite().
717
1107
  */
718
- #define ECHO fwrite( yytext, yyleng, 1, yyout )
1108
+ #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
719
1109
  #endif
720
1110
 
721
1111
  /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -726,7 +1116,7 @@ static int input (yyscan_t yyscanner );
726
1116
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
727
1117
  { \
728
1118
  int c = '*'; \
729
- yy_size_t n; \
1119
+ int n; \
730
1120
  for ( n = 0; n < max_size && \
731
1121
  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
732
1122
  buf[n] = (char) c; \
@@ -739,7 +1129,7 @@ static int input (yyscan_t yyscanner );
739
1129
  else \
740
1130
  { \
741
1131
  errno=0; \
742
- while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1132
+ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
743
1133
  { \
744
1134
  if( errno != EINTR) \
745
1135
  { \
@@ -780,9 +1170,9 @@ static int input (yyscan_t yyscanner );
780
1170
  #ifndef YY_DECL
781
1171
  #define YY_DECL_IS_OURS 1
782
1172
 
783
- extern int linguist_yylex (yyscan_t yyscanner);
1173
+ extern int yylex (yyscan_t yyscanner);
784
1174
 
785
- #define YY_DECL int linguist_yylex (yyscan_t yyscanner)
1175
+ #define YY_DECL int yylex (yyscan_t yyscanner)
786
1176
  #endif /* !YY_DECL */
787
1177
 
788
1178
  /* Code executed at the beginning of each rule, after yytext and yyleng
@@ -794,7 +1184,7 @@ extern int linguist_yylex (yyscan_t yyscanner);
794
1184
 
795
1185
  /* Code executed at the end of each rule. */
796
1186
  #ifndef YY_BREAK
797
- #define YY_BREAK break;
1187
+ #define YY_BREAK /*LINTED*/break;
798
1188
  #endif
799
1189
 
800
1190
  #define YY_RULE_SETUP \
@@ -807,16 +1197,11 @@ extern int linguist_yylex (yyscan_t yyscanner);
807
1197
  */
808
1198
  YY_DECL
809
1199
  {
810
- register yy_state_type yy_current_state;
811
- register char *yy_cp, *yy_bp;
812
- register int yy_act;
1200
+ yy_state_type yy_current_state;
1201
+ char *yy_cp, *yy_bp;
1202
+ int yy_act;
813
1203
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
814
1204
 
815
- #line 38 "tokenizer.l"
816
-
817
-
818
- #line 819 "lex.linguist_yy.c"
819
-
820
1205
  if ( !yyg->yy_init )
821
1206
  {
822
1207
  yyg->yy_init = 1;
@@ -825,6 +1210,12 @@ YY_DECL
825
1210
  YY_USER_INIT;
826
1211
  #endif
827
1212
 
1213
+ /* Create the reject buffer large enough to save one state per allowed character. */
1214
+ if ( ! yyg->yy_state_buf )
1215
+ yyg->yy_state_buf = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE , yyscanner);
1216
+ if ( ! yyg->yy_state_buf )
1217
+ YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
1218
+
828
1219
  if ( ! yyg->yy_start )
829
1220
  yyg->yy_start = 1; /* first start state */
830
1221
 
@@ -835,16 +1226,28 @@ YY_DECL
835
1226
  yyout = stdout;
836
1227
 
837
1228
  if ( ! YY_CURRENT_BUFFER ) {
838
- linguist_yyensure_buffer_stack (yyscanner);
1229
+ yyensure_buffer_stack (yyscanner);
839
1230
  YY_CURRENT_BUFFER_LVALUE =
840
- linguist_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
1231
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
841
1232
  }
842
1233
 
843
- linguist_yy_load_buffer_state(yyscanner );
1234
+ yy_load_buffer_state( yyscanner );
844
1235
  }
845
1236
 
846
- while ( 1 ) /* loops until end-of-file is reached */
1237
+ {
1238
+ #line 58 "tokenizer.l"
1239
+
1240
+
1241
+ #line 1242 "lex.linguist_yy.c"
1242
+
1243
+ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
847
1244
  {
1245
+ yyg->yy_more_len = 0;
1246
+ if ( yyg->yy_more_flag )
1247
+ {
1248
+ yyg->yy_more_len = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
1249
+ yyg->yy_more_flag = 0;
1250
+ }
848
1251
  yy_cp = yyg->yy_c_buf_p;
849
1252
 
850
1253
  /* Support of yytext. */
@@ -857,30 +1260,64 @@ YY_DECL
857
1260
 
858
1261
  yy_current_state = yyg->yy_start;
859
1262
  yy_current_state += YY_AT_BOL();
1263
+
1264
+ yyg->yy_state_ptr = yyg->yy_state_buf;
1265
+ *yyg->yy_state_ptr++ = yy_current_state;
1266
+
860
1267
  yy_match:
861
1268
  do
862
1269
  {
863
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
864
- if ( yy_accept[yy_current_state] )
865
- {
866
- yyg->yy_last_accepting_state = yy_current_state;
867
- yyg->yy_last_accepting_cpos = yy_cp;
868
- }
1270
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
869
1271
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
870
1272
  {
871
1273
  yy_current_state = (int) yy_def[yy_current_state];
872
- if ( yy_current_state >= 114 )
873
- yy_c = yy_meta[(unsigned int) yy_c];
1274
+ if ( yy_current_state >= 210 )
1275
+ yy_c = yy_meta[yy_c];
874
1276
  }
875
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1277
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1278
+ *yyg->yy_state_ptr++ = yy_current_state;
876
1279
  ++yy_cp;
877
1280
  }
878
- while ( yy_current_state != 113 );
879
- yy_cp = yyg->yy_last_accepting_cpos;
880
- yy_current_state = yyg->yy_last_accepting_state;
1281
+ while ( yy_current_state != 209 );
881
1282
 
882
1283
  yy_find_action:
883
- yy_act = yy_accept[yy_current_state];
1284
+ yy_current_state = *--yyg->yy_state_ptr;
1285
+ yyg->yy_lp = yy_accept[yy_current_state];
1286
+ find_rule: /* we branch to this label when backing up */
1287
+ for ( ; ; ) /* until we find what rule we matched */
1288
+ {
1289
+ if ( yyg->yy_lp && yyg->yy_lp < yy_accept[yy_current_state + 1] )
1290
+ {
1291
+ yy_act = yy_acclist[yyg->yy_lp];
1292
+ if ( yy_act & YY_TRAILING_HEAD_MASK ||
1293
+ yyg->yy_looking_for_trail_begin )
1294
+ {
1295
+ if ( yy_act == yyg->yy_looking_for_trail_begin )
1296
+ {
1297
+ yyg->yy_looking_for_trail_begin = 0;
1298
+ yy_act &= ~YY_TRAILING_HEAD_MASK;
1299
+ break;
1300
+ }
1301
+ }
1302
+ else if ( yy_act & YY_TRAILING_MASK )
1303
+ {
1304
+ yyg->yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK;
1305
+ yyg->yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK;
1306
+ }
1307
+ else
1308
+ {
1309
+ yyg->yy_full_match = yy_cp;
1310
+ yyg->yy_full_state = yyg->yy_state_ptr;
1311
+ yyg->yy_full_lp = yyg->yy_lp;
1312
+ break;
1313
+ }
1314
+ ++yyg->yy_lp;
1315
+ goto find_rule;
1316
+ }
1317
+ --yy_cp;
1318
+ yy_current_state = *--yyg->yy_state_ptr;
1319
+ yyg->yy_lp = yy_accept[yy_current_state];
1320
+ }
884
1321
 
885
1322
  YY_DO_BEFORE_ACTION;
886
1323
 
@@ -888,224 +1325,297 @@ do_action: /* This label is used only to access EOF actions. */
888
1325
 
889
1326
  switch ( yy_act )
890
1327
  { /* beginning of action switch */
891
- case 0: /* must back up */
892
- /* undo the effects of YY_DO_BEFORE_ACTION */
893
- *yy_cp = yyg->yy_hold_char;
894
- yy_cp = yyg->yy_last_accepting_cpos;
895
- yy_current_state = yyg->yy_last_accepting_state;
896
- goto yy_find_action;
897
-
898
1328
  case 1:
899
1329
  /* rule 1 can match eol */
900
1330
  YY_RULE_SETUP
901
- #line 40 "tokenizer.l"
1331
+ #line 60 "tokenizer.l"
902
1332
  {
903
- const char *off = strrchr(yytext, ' ');
904
- if (!off)
905
- off = yytext;
906
- else
907
- ++off;
908
- feed_token(strdup(off), SHEBANG_TOKEN);
909
- eat_until_eol();
910
- return 1;
911
- }
1333
+ const char *off = strrchr(yytext, ' ');
1334
+ if (!off)
1335
+ off = yytext;
1336
+ else
1337
+ ++off;
1338
+ FEED_SHEBANG(off);
1339
+ eat_until_eol();
1340
+ return 1;
1341
+ }
912
1342
  YY_BREAK
913
1343
  case 2:
914
1344
  YY_RULE_SETUP
915
- #line 51 "tokenizer.l"
1345
+ #line 71 "tokenizer.l"
916
1346
  {
917
- const char *off = strrchr(yytext, '/');
918
- if (!off)
919
- off = yytext;
920
- else
921
- ++off;
922
- if (strcmp(off, "env") == 0) {
923
- eat_until_eol();
924
- } else {
925
- feed_token(strdup(off), SHEBANG_TOKEN);
926
- eat_until_eol();
927
- return 1;
928
- }
1347
+ const char *off = strrchr(yytext, '/');
1348
+ if (!off)
1349
+ off = yytext;
1350
+ else
1351
+ ++off;
1352
+ if (strcmp(off, "env") == 0) {
1353
+ eat_until_eol();
1354
+ } else {
1355
+ FEED_SHEBANG(off);
1356
+ eat_until_eol();
1357
+ return 1;
929
1358
  }
1359
+ }
930
1360
  YY_BREAK
931
1361
  case 3:
1362
+ /* rule 3 can match eol */
932
1363
  YY_RULE_SETUP
933
- #line 66 "tokenizer.l"
934
- { /* nothing */ }
1364
+ #line 86 "tokenizer.l"
1365
+ { FEED_STATIC("COMMENT#"); return 1; }
935
1366
  YY_BREAK
936
1367
  case 4:
1368
+ /* rule 4 can match eol */
937
1369
  YY_RULE_SETUP
938
- #line 68 "tokenizer.l"
939
- { BEGIN(c_comment); }
1370
+ #line 87 "tokenizer.l"
1371
+ { FEED_STATIC("COMMENT//!"); return 1; }
940
1372
  YY_BREAK
941
- /* See below for xml_comment start. */
942
1373
  case 5:
1374
+ /* rule 5 can match eol */
943
1375
  YY_RULE_SETUP
944
- #line 70 "tokenizer.l"
945
- { BEGIN(haskell_comment); }
1376
+ #line 88 "tokenizer.l"
1377
+ { FEED_STATIC("COMMENT//"); return 1; }
946
1378
  YY_BREAK
947
1379
  case 6:
1380
+ /* rule 6 can match eol */
948
1381
  YY_RULE_SETUP
949
- #line 71 "tokenizer.l"
950
- { BEGIN(ocaml_comment); }
1382
+ #line 89 "tokenizer.l"
1383
+ { FEED_STATIC("COMMENT--"); return 1; }
951
1384
  YY_BREAK
952
1385
  case 7:
1386
+ /* rule 7 can match eol */
953
1387
  YY_RULE_SETUP
954
- #line 72 "tokenizer.l"
955
- { BEGIN(python_dcomment); }
1388
+ #line 90 "tokenizer.l"
1389
+ { FEED_STATIC("COMMENT%"); return 1; }
956
1390
  YY_BREAK
957
1391
  case 8:
1392
+ /* rule 8 can match eol */
958
1393
  YY_RULE_SETUP
959
- #line 73 "tokenizer.l"
960
- { BEGIN(python_scomment); }
1394
+ #line 91 "tokenizer.l"
1395
+ { FEED_STATIC("COMMENT\""); return 1; }
961
1396
  YY_BREAK
962
1397
  case 9:
963
1398
  /* rule 9 can match eol */
964
1399
  YY_RULE_SETUP
965
- #line 75 "tokenizer.l"
966
- { /* nothing */ }
1400
+ #line 92 "tokenizer.l"
1401
+ { FEED_STATIC("COMMENT;"); return 1; }
967
1402
  YY_BREAK
968
1403
  case 10:
1404
+ /* rule 10 can match eol */
969
1405
  YY_RULE_SETUP
970
- #line 76 "tokenizer.l"
971
- { BEGIN(INITIAL); }
1406
+ #line 93 "tokenizer.l"
1407
+ { FEED_STATIC("COMMENT.\\\""); return 1; }
972
1408
  YY_BREAK
973
1409
  case 11:
1410
+ /* rule 11 can match eol */
974
1411
  YY_RULE_SETUP
975
- #line 77 "tokenizer.l"
976
- { BEGIN(INITIAL); }
1412
+ #line 94 "tokenizer.l"
1413
+ { FEED_STATIC("COMMENT'\\\""); return 1; }
977
1414
  YY_BREAK
978
1415
  case 12:
979
1416
  YY_RULE_SETUP
980
- #line 78 "tokenizer.l"
981
- { BEGIN(INITIAL); }
1417
+ #line 96 "tokenizer.l"
1418
+ { FEED_STATIC("COMMENT/*"); return 1; }
982
1419
  YY_BREAK
983
1420
  case 13:
984
1421
  YY_RULE_SETUP
985
- #line 79 "tokenizer.l"
986
- { BEGIN(INITIAL); }
1422
+ #line 97 "tokenizer.l"
1423
+ { FEED_STATIC("COMMENT/**"); BEGIN(c_comment); return 1; }
987
1424
  YY_BREAK
988
1425
  case 14:
989
1426
  YY_RULE_SETUP
990
- #line 80 "tokenizer.l"
991
- { BEGIN(INITIAL); }
1427
+ #line 98 "tokenizer.l"
1428
+ { FEED_STATIC("COMMENT/*!"); BEGIN(c_comment); return 1; }
992
1429
  YY_BREAK
993
1430
  case 15:
994
1431
  YY_RULE_SETUP
995
- #line 81 "tokenizer.l"
996
- { BEGIN(INITIAL); }
1432
+ #line 99 "tokenizer.l"
1433
+ { FEED_STATIC("COMMENT/*"); BEGIN(c_comment); return 1; }
997
1434
  YY_BREAK
998
1435
  case 16:
999
1436
  YY_RULE_SETUP
1000
- #line 83 "tokenizer.l"
1001
- { /* nothing */ }
1437
+ #line 100 "tokenizer.l"
1438
+ { FEED_STATIC("COMMENT<!--"); BEGIN(xml_comment); return 1; }
1002
1439
  YY_BREAK
1003
1440
  case 17:
1004
1441
  YY_RULE_SETUP
1005
- #line 84 "tokenizer.l"
1006
- { eat_until_unescaped('"'); }
1442
+ #line 101 "tokenizer.l"
1443
+ { FEED_STATIC("COMMENT{-"); BEGIN(haskell_comment); return 1; }
1007
1444
  YY_BREAK
1008
1445
  case 18:
1009
1446
  YY_RULE_SETUP
1010
- #line 85 "tokenizer.l"
1011
- { eat_until_unescaped('\''); }
1447
+ #line 102 "tokenizer.l"
1448
+ { FEED_STATIC("COMMENT(*"); BEGIN(ocaml_comment); return 1; }
1012
1449
  YY_BREAK
1013
1450
  case 19:
1014
1451
  YY_RULE_SETUP
1015
- #line 86 "tokenizer.l"
1016
- { /* nothing */ }
1452
+ #line 103 "tokenizer.l"
1453
+ { FEED_STATIC("COMMENT\"\"\""); BEGIN(python_dcomment); return 1; }
1017
1454
  YY_BREAK
1018
1455
  case 20:
1019
1456
  YY_RULE_SETUP
1020
- #line 87 "tokenizer.l"
1021
- {
1022
- if (strcmp(yytext, "<!--") == 0) {
1023
- BEGIN(xml_comment);
1024
- } else {
1025
- feed_token(strdup(yytext), SGML_TOKEN);
1026
- BEGIN(sgml);
1027
- return 1;
1028
- }
1029
- }
1457
+ #line 104 "tokenizer.l"
1458
+ { FEED_STATIC("COMMENT'''"); BEGIN(python_scomment); return 1; }
1030
1459
  YY_BREAK
1031
1460
  case 21:
1461
+ /* rule 21 can match eol */
1032
1462
  YY_RULE_SETUP
1033
- #line 96 "tokenizer.l"
1034
- { feed_token(strndup(yytext, strlen(yytext) - 1), REGULAR_TOKEN); eat_until_unescaped('"'); return 1; }
1463
+ #line 105 "tokenizer.l"
1464
+ { FEED_STATIC("COMMENT.ig"); BEGIN(roff_comment); return 1; }
1035
1465
  YY_BREAK
1036
1466
  case 22:
1467
+ /* rule 22 can match eol */
1037
1468
  YY_RULE_SETUP
1038
- #line 97 "tokenizer.l"
1039
- { feed_token(strndup(yytext, strlen(yytext) - 1), REGULAR_TOKEN); eat_until_unescaped('\''); return 1; }
1469
+ #line 107 "tokenizer.l"
1470
+ { /* nothing */ }
1040
1471
  YY_BREAK
1041
1472
  case 23:
1042
1473
  YY_RULE_SETUP
1043
- #line 98 "tokenizer.l"
1044
- { feed_token(strdup(yytext), REGULAR_TOKEN); *(strchr(yyextra->token, '=') + 1) = 0; return 1; }
1474
+ #line 108 "tokenizer.l"
1475
+ { BEGIN(INITIAL); }
1045
1476
  YY_BREAK
1046
1477
  case 24:
1047
1478
  YY_RULE_SETUP
1048
- #line 99 "tokenizer.l"
1049
- { feed_token(strdup(yytext), REGULAR_TOKEN); return 1; }
1479
+ #line 109 "tokenizer.l"
1480
+ { BEGIN(INITIAL); }
1050
1481
  YY_BREAK
1051
1482
  case 25:
1052
1483
  YY_RULE_SETUP
1053
- #line 100 "tokenizer.l"
1484
+ #line 110 "tokenizer.l"
1054
1485
  { BEGIN(INITIAL); }
1055
1486
  YY_BREAK
1056
1487
  case 26:
1057
- /* rule 26 can match eol */
1058
1488
  YY_RULE_SETUP
1059
- #line 101 "tokenizer.l"
1060
- { /* nothing */ }
1489
+ #line 111 "tokenizer.l"
1490
+ { BEGIN(INITIAL); }
1061
1491
  YY_BREAK
1062
1492
  case 27:
1063
1493
  YY_RULE_SETUP
1064
- #line 102 "tokenizer.l"
1065
- { feed_token(strdup(yytext), REGULAR_TOKEN); return 1; }
1494
+ #line 112 "tokenizer.l"
1495
+ { BEGIN(INITIAL); }
1066
1496
  YY_BREAK
1067
1497
  case 28:
1068
1498
  YY_RULE_SETUP
1069
- #line 103 "tokenizer.l"
1070
- {
1071
- if (strncmp(yytext, "/*", 2) == 0) {
1072
- if (strlen(yytext) >= 4 && strcmp(yytext + strlen(yytext) - 2, "*/") == 0) {
1073
- /* nothing */
1074
- } else {
1075
- BEGIN(c_comment);
1076
- }
1077
- } else {
1078
- feed_token(strdup(yytext), REGULAR_TOKEN);
1079
- return 1;
1080
- }
1081
- }
1499
+ #line 113 "tokenizer.l"
1500
+ { BEGIN(INITIAL); }
1082
1501
  YY_BREAK
1083
1502
  case 29:
1503
+ /* rule 29 can match eol */
1084
1504
  YY_RULE_SETUP
1085
- #line 115 "tokenizer.l"
1086
- { feed_token(strdup(yytext), REGULAR_TOKEN); return 1; }
1505
+ #line 114 "tokenizer.l"
1506
+ { BEGIN(INITIAL); }
1087
1507
  YY_BREAK
1088
1508
  case 30:
1089
- /* rule 30 can match eol */
1090
1509
  YY_RULE_SETUP
1091
1510
  #line 116 "tokenizer.l"
1092
1511
  { /* nothing */ }
1093
1512
  YY_BREAK
1094
1513
  case 31:
1095
1514
  YY_RULE_SETUP
1515
+ #line 117 "tokenizer.l"
1516
+ { eat_until_unescaped('"'); }
1517
+ YY_BREAK
1518
+ case 32:
1519
+ YY_RULE_SETUP
1096
1520
  #line 118 "tokenizer.l"
1521
+ { eat_until_unescaped('\''); }
1522
+ YY_BREAK
1523
+ case 33:
1524
+ YY_RULE_SETUP
1525
+ #line 119 "tokenizer.l"
1526
+ { /* nothing */ }
1527
+ YY_BREAK
1528
+ case 34:
1529
+ YY_RULE_SETUP
1530
+ #line 121 "tokenizer.l"
1531
+ { FEED(); return 1; }
1532
+ YY_BREAK
1533
+ case 35:
1534
+ YY_RULE_SETUP
1535
+ #line 122 "tokenizer.l"
1536
+ { FEED(); return 1; }
1537
+ YY_BREAK
1538
+ case 36:
1539
+ YY_RULE_SETUP
1540
+ #line 123 "tokenizer.l"
1541
+ { FEED(); return 1; }
1542
+ YY_BREAK
1543
+ case 37:
1544
+ /* rule 37 can match eol */
1545
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1546
+ YY_LINENO_REWIND_TO(yy_cp - 1);
1547
+ yyg->yy_c_buf_p = yy_cp -= 1;
1548
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
1549
+ YY_RULE_SETUP
1550
+ #line 125 "tokenizer.l"
1551
+ { FEED(); BEGIN(INITIAL); return 1; }
1552
+ YY_BREAK
1553
+ case 38:
1554
+ YY_RULE_SETUP
1555
+ #line 126 "tokenizer.l"
1556
+ { FEED(); BEGIN(INITIAL); return 1; }
1557
+ YY_BREAK
1558
+ case 39:
1559
+ /* rule 39 can match eol */
1560
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1561
+ YY_LINENO_REWIND_TO(yy_cp - 1);
1562
+ yyg->yy_c_buf_p = yy_cp -= 1;
1563
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
1564
+ YY_RULE_SETUP
1565
+ #line 127 "tokenizer.l"
1566
+ { FEED(); BEGIN(INITIAL); return 1; }
1567
+ YY_BREAK
1568
+ case 40:
1569
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1570
+ yyg->yy_c_buf_p = yy_cp -= 4;
1571
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
1572
+ YY_RULE_SETUP
1573
+ #line 128 "tokenizer.l"
1574
+ { FEED(); BEGIN(INITIAL); return 1; }
1575
+ YY_BREAK
1576
+ case 41:
1577
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1578
+ yyg->yy_c_buf_p = yy_cp -= 2;
1579
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
1580
+ YY_RULE_SETUP
1581
+ #line 129 "tokenizer.l"
1582
+ { FEED(); BEGIN(INITIAL); return 1; }
1583
+ YY_BREAK
1584
+ case 42:
1585
+ YY_RULE_SETUP
1586
+ #line 130 "tokenizer.l"
1587
+ { yymore(); BEGIN(punct); }
1588
+ YY_BREAK
1589
+ case 43:
1590
+ YY_RULE_SETUP
1591
+ #line 131 "tokenizer.l"
1592
+ { yymore(); BEGIN(punct); }
1593
+ YY_BREAK
1594
+ case YY_STATE_EOF(punct):
1595
+ #line 132 "tokenizer.l"
1596
+ { FEED2(yytext, yyleng - 1); BEGIN(INITIAL); return 1; }
1597
+ YY_BREAK
1598
+ case 44:
1599
+ /* rule 44 can match eol */
1600
+ YY_RULE_SETUP
1601
+ #line 134 "tokenizer.l"
1602
+ { /* nothing */ }
1603
+ YY_BREAK
1604
+ case 45:
1605
+ YY_RULE_SETUP
1606
+ #line 136 "tokenizer.l"
1097
1607
  YY_FATAL_ERROR( "flex scanner jammed" );
1098
1608
  YY_BREAK
1099
- #line 1100 "lex.linguist_yy.c"
1100
- case YY_STATE_EOF(INITIAL):
1101
- case YY_STATE_EOF(sgml):
1102
- case YY_STATE_EOF(c_comment):
1103
- case YY_STATE_EOF(xml_comment):
1104
- case YY_STATE_EOF(haskell_comment):
1105
- case YY_STATE_EOF(ocaml_comment):
1106
- case YY_STATE_EOF(python_dcomment):
1107
- case YY_STATE_EOF(python_scomment):
1108
- yyterminate();
1609
+ #line 1610 "lex.linguist_yy.c"
1610
+ case YY_STATE_EOF(INITIAL):
1611
+ case YY_STATE_EOF(c_comment):
1612
+ case YY_STATE_EOF(xml_comment):
1613
+ case YY_STATE_EOF(haskell_comment):
1614
+ case YY_STATE_EOF(ocaml_comment):
1615
+ case YY_STATE_EOF(python_dcomment):
1616
+ case YY_STATE_EOF(python_scomment):
1617
+ case YY_STATE_EOF(roff_comment):
1618
+ yyterminate();
1109
1619
 
1110
1620
  case YY_END_OF_BUFFER:
1111
1621
  {
@@ -1121,7 +1631,7 @@ case YY_STATE_EOF(python_scomment):
1121
1631
  /* We're scanning a new file or input source. It's
1122
1632
  * possible that this happened because the user
1123
1633
  * just pointed yyin at a new source and called
1124
- * linguist_yylex(). If so, then we have to assure
1634
+ * yylex(). If so, then we have to assure
1125
1635
  * consistency between YY_CURRENT_BUFFER and our
1126
1636
  * globals. Here is the right place to do so, because
1127
1637
  * this is the first action (other than possibly a
@@ -1170,8 +1680,7 @@ case YY_STATE_EOF(python_scomment):
1170
1680
 
1171
1681
  else
1172
1682
  {
1173
- yy_cp = yyg->yy_last_accepting_cpos;
1174
- yy_current_state = yyg->yy_last_accepting_state;
1683
+ yy_cp = yyg->yy_c_buf_p;
1175
1684
  goto yy_find_action;
1176
1685
  }
1177
1686
  }
@@ -1182,7 +1691,7 @@ case YY_STATE_EOF(python_scomment):
1182
1691
  {
1183
1692
  yyg->yy_did_buffer_switch_on_eof = 0;
1184
1693
 
1185
- if ( linguist_yywrap(yyscanner ) )
1694
+ if ( yywrap( yyscanner ) )
1186
1695
  {
1187
1696
  /* Note: because we've taken care in
1188
1697
  * yy_get_next_buffer() to have set up
@@ -1235,7 +1744,8 @@ case YY_STATE_EOF(python_scomment):
1235
1744
  "fatal flex scanner internal error--no action found" );
1236
1745
  } /* end of action switch */
1237
1746
  } /* end of scanning one token */
1238
- } /* end of linguist_yylex */
1747
+ } /* end of user's declarations */
1748
+ } /* end of yylex */
1239
1749
 
1240
1750
  /* yy_get_next_buffer - try to read in a new buffer
1241
1751
  *
@@ -1247,9 +1757,9 @@ case YY_STATE_EOF(python_scomment):
1247
1757
  static int yy_get_next_buffer (yyscan_t yyscanner)
1248
1758
  {
1249
1759
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1250
- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1251
- register char *source = yyg->yytext_ptr;
1252
- register int number_to_move, i;
1760
+ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1761
+ char *source = yyg->yytext_ptr;
1762
+ int number_to_move, i;
1253
1763
  int ret_val;
1254
1764
 
1255
1765
  if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
@@ -1278,7 +1788,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1278
1788
  /* Try to read more data. */
1279
1789
 
1280
1790
  /* First move last chars to start of buffer. */
1281
- number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
1791
+ number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
1282
1792
 
1283
1793
  for ( i = 0; i < number_to_move; ++i )
1284
1794
  *(dest++) = *(source++);
@@ -1291,43 +1801,14 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1291
1801
 
1292
1802
  else
1293
1803
  {
1294
- yy_size_t num_to_read =
1804
+ int num_to_read =
1295
1805
  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1296
1806
 
1297
1807
  while ( num_to_read <= 0 )
1298
1808
  { /* Not enough room in the buffer - grow it. */
1299
1809
 
1300
- /* just a shorter name for the current buffer */
1301
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
1302
-
1303
- int yy_c_buf_p_offset =
1304
- (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
1305
-
1306
- if ( b->yy_is_our_buffer )
1307
- {
1308
- yy_size_t new_size = b->yy_buf_size * 2;
1309
-
1310
- if ( new_size <= 0 )
1311
- b->yy_buf_size += b->yy_buf_size / 8;
1312
- else
1313
- b->yy_buf_size *= 2;
1314
-
1315
- b->yy_ch_buf = (char *)
1316
- /* Include room in for 2 EOB chars. */
1317
- linguist_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
1318
- }
1319
- else
1320
- /* Can't grow it, we don't own it. */
1321
- b->yy_ch_buf = 0;
1322
-
1323
- if ( ! b->yy_ch_buf )
1324
- YY_FATAL_ERROR(
1325
- "fatal error - scanner input buffer overflow" );
1326
-
1327
- yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
1328
-
1329
- num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1330
- number_to_move - 1;
1810
+ YY_FATAL_ERROR(
1811
+ "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1331
1812
 
1332
1813
  }
1333
1814
 
@@ -1346,7 +1827,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1346
1827
  if ( number_to_move == YY_MORE_ADJ )
1347
1828
  {
1348
1829
  ret_val = EOB_ACT_END_OF_FILE;
1349
- linguist_yyrestart(yyin ,yyscanner);
1830
+ yyrestart( yyin , yyscanner);
1350
1831
  }
1351
1832
 
1352
1833
  else
@@ -1360,12 +1841,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1360
1841
  else
1361
1842
  ret_val = EOB_ACT_CONTINUE_SCAN;
1362
1843
 
1363
- if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1844
+ if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1364
1845
  /* Extend the array by 50%, plus the number we really need. */
1365
- yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
1366
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) linguist_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
1846
+ int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
1847
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
1848
+ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
1367
1849
  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1368
1850
  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1851
+ /* "- 2" to take care of EOB's */
1852
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
1369
1853
  }
1370
1854
 
1371
1855
  yyg->yy_n_chars += number_to_move;
@@ -1381,28 +1865,27 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1381
1865
 
1382
1866
  static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
1383
1867
  {
1384
- register yy_state_type yy_current_state;
1385
- register char *yy_cp;
1868
+ yy_state_type yy_current_state;
1869
+ char *yy_cp;
1386
1870
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1387
1871
 
1388
1872
  yy_current_state = yyg->yy_start;
1389
1873
  yy_current_state += YY_AT_BOL();
1390
1874
 
1875
+ yyg->yy_state_ptr = yyg->yy_state_buf;
1876
+ *yyg->yy_state_ptr++ = yy_current_state;
1877
+
1391
1878
  for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
1392
1879
  {
1393
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1394
- if ( yy_accept[yy_current_state] )
1395
- {
1396
- yyg->yy_last_accepting_state = yy_current_state;
1397
- yyg->yy_last_accepting_cpos = yy_cp;
1398
- }
1880
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1399
1881
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1400
1882
  {
1401
1883
  yy_current_state = (int) yy_def[yy_current_state];
1402
- if ( yy_current_state >= 114 )
1403
- yy_c = yy_meta[(unsigned int) yy_c];
1884
+ if ( yy_current_state >= 210 )
1885
+ yy_c = yy_meta[yy_c];
1404
1886
  }
1405
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1887
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1888
+ *yyg->yy_state_ptr++ = yy_current_state;
1406
1889
  }
1407
1890
 
1408
1891
  return yy_current_state;
@@ -1415,28 +1898,29 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1415
1898
  */
1416
1899
  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
1417
1900
  {
1418
- register int yy_is_jam;
1901
+ int yy_is_jam;
1419
1902
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
1420
- register char *yy_cp = yyg->yy_c_buf_p;
1421
1903
 
1422
- register YY_CHAR yy_c = 1;
1423
- if ( yy_accept[yy_current_state] )
1424
- {
1425
- yyg->yy_last_accepting_state = yy_current_state;
1426
- yyg->yy_last_accepting_cpos = yy_cp;
1427
- }
1904
+ YY_CHAR yy_c = 1;
1428
1905
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1429
1906
  {
1430
1907
  yy_current_state = (int) yy_def[yy_current_state];
1431
- if ( yy_current_state >= 114 )
1432
- yy_c = yy_meta[(unsigned int) yy_c];
1908
+ if ( yy_current_state >= 210 )
1909
+ yy_c = yy_meta[yy_c];
1433
1910
  }
1434
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1435
- yy_is_jam = (yy_current_state == 113);
1911
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1912
+ yy_is_jam = (yy_current_state == 209);
1913
+ if ( ! yy_is_jam )
1914
+ *yyg->yy_state_ptr++ = yy_current_state;
1436
1915
 
1916
+ (void)yyg;
1437
1917
  return yy_is_jam ? 0 : yy_current_state;
1438
1918
  }
1439
1919
 
1920
+ #ifndef YY_NO_UNPUT
1921
+
1922
+ #endif
1923
+
1440
1924
  #ifndef YY_NO_INPUT
1441
1925
  #ifdef __cplusplus
1442
1926
  static int yyinput (yyscan_t yyscanner)
@@ -1462,7 +1946,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1462
1946
 
1463
1947
  else
1464
1948
  { /* need more input */
1465
- yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
1949
+ int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
1466
1950
  ++yyg->yy_c_buf_p;
1467
1951
 
1468
1952
  switch ( yy_get_next_buffer( yyscanner ) )
@@ -1479,13 +1963,13 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1479
1963
  */
1480
1964
 
1481
1965
  /* Reset buffer status. */
1482
- linguist_yyrestart(yyin ,yyscanner);
1966
+ yyrestart( yyin , yyscanner);
1483
1967
 
1484
1968
  /*FALLTHROUGH*/
1485
1969
 
1486
1970
  case EOB_ACT_END_OF_FILE:
1487
1971
  {
1488
- if ( linguist_yywrap(yyscanner ) )
1972
+ if ( yywrap( yyscanner ) )
1489
1973
  return 0;
1490
1974
 
1491
1975
  if ( ! yyg->yy_did_buffer_switch_on_eof )
@@ -1519,34 +2003,34 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1519
2003
  * @param yyscanner The scanner object.
1520
2004
  * @note This function does not reset the start condition to @c INITIAL .
1521
2005
  */
1522
- void linguist_yyrestart (FILE * input_file , yyscan_t yyscanner)
2006
+ void yyrestart (FILE * input_file , yyscan_t yyscanner)
1523
2007
  {
1524
2008
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1525
2009
 
1526
2010
  if ( ! YY_CURRENT_BUFFER ){
1527
- linguist_yyensure_buffer_stack (yyscanner);
2011
+ yyensure_buffer_stack (yyscanner);
1528
2012
  YY_CURRENT_BUFFER_LVALUE =
1529
- linguist_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
2013
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
1530
2014
  }
1531
2015
 
1532
- linguist_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
1533
- linguist_yy_load_buffer_state(yyscanner );
2016
+ yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
2017
+ yy_load_buffer_state( yyscanner );
1534
2018
  }
1535
2019
 
1536
2020
  /** Switch to a different input buffer.
1537
2021
  * @param new_buffer The new input buffer.
1538
2022
  * @param yyscanner The scanner object.
1539
2023
  */
1540
- void linguist_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2024
+ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
1541
2025
  {
1542
2026
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1543
2027
 
1544
2028
  /* TODO. We should be able to replace this entire function body
1545
2029
  * with
1546
- * linguist_yypop_buffer_state();
1547
- * linguist_yypush_buffer_state(new_buffer);
2030
+ * yypop_buffer_state();
2031
+ * yypush_buffer_state(new_buffer);
1548
2032
  */
1549
- linguist_yyensure_buffer_stack (yyscanner);
2033
+ yyensure_buffer_stack (yyscanner);
1550
2034
  if ( YY_CURRENT_BUFFER == new_buffer )
1551
2035
  return;
1552
2036
 
@@ -1559,17 +2043,17 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
1559
2043
  }
1560
2044
 
1561
2045
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
1562
- linguist_yy_load_buffer_state(yyscanner );
2046
+ yy_load_buffer_state( yyscanner );
1563
2047
 
1564
2048
  /* We don't actually know whether we did this switch during
1565
- * EOF (linguist_yywrap()) processing, but the only time this flag
1566
- * is looked at is after linguist_yywrap() is called, so it's safe
2049
+ * EOF (yywrap()) processing, but the only time this flag
2050
+ * is looked at is after yywrap() is called, so it's safe
1567
2051
  * to go ahead and always set it.
1568
2052
  */
1569
2053
  yyg->yy_did_buffer_switch_on_eof = 1;
1570
2054
  }
1571
2055
 
1572
- static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
2056
+ static void yy_load_buffer_state (yyscan_t yyscanner)
1573
2057
  {
1574
2058
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1575
2059
  yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
@@ -1584,35 +2068,35 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
1584
2068
  * @param yyscanner The scanner object.
1585
2069
  * @return the allocated buffer state.
1586
2070
  */
1587
- YY_BUFFER_STATE linguist_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
2071
+ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
1588
2072
  {
1589
2073
  YY_BUFFER_STATE b;
1590
2074
 
1591
- b = (YY_BUFFER_STATE) linguist_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2075
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
1592
2076
  if ( ! b )
1593
- YY_FATAL_ERROR( "out of dynamic memory in linguist_yy_create_buffer()" );
2077
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1594
2078
 
1595
2079
  b->yy_buf_size = size;
1596
2080
 
1597
2081
  /* yy_ch_buf has to be 2 characters longer than the size given because
1598
2082
  * we need to put in 2 end-of-buffer characters.
1599
2083
  */
1600
- b->yy_ch_buf = (char *) linguist_yyalloc(b->yy_buf_size + 2 ,yyscanner );
2084
+ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
1601
2085
  if ( ! b->yy_ch_buf )
1602
- YY_FATAL_ERROR( "out of dynamic memory in linguist_yy_create_buffer()" );
2086
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1603
2087
 
1604
2088
  b->yy_is_our_buffer = 1;
1605
2089
 
1606
- linguist_yy_init_buffer(b,file ,yyscanner);
2090
+ yy_init_buffer( b, file , yyscanner);
1607
2091
 
1608
2092
  return b;
1609
2093
  }
1610
2094
 
1611
2095
  /** Destroy the buffer.
1612
- * @param b a buffer created with linguist_yy_create_buffer()
2096
+ * @param b a buffer created with yy_create_buffer()
1613
2097
  * @param yyscanner The scanner object.
1614
2098
  */
1615
- void linguist_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
2099
+ void yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
1616
2100
  {
1617
2101
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1618
2102
 
@@ -1623,28 +2107,28 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
1623
2107
  YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
1624
2108
 
1625
2109
  if ( b->yy_is_our_buffer )
1626
- linguist_yyfree((void *) b->yy_ch_buf ,yyscanner );
2110
+ yyfree( (void *) b->yy_ch_buf , yyscanner );
1627
2111
 
1628
- linguist_yyfree((void *) b ,yyscanner );
2112
+ yyfree( (void *) b , yyscanner );
1629
2113
  }
1630
2114
 
1631
2115
  /* Initializes or reinitializes a buffer.
1632
2116
  * This function is sometimes called more than once on the same buffer,
1633
- * such as during a linguist_yyrestart() or at EOF.
2117
+ * such as during a yyrestart() or at EOF.
1634
2118
  */
1635
- static void linguist_yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
2119
+ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
1636
2120
 
1637
2121
  {
1638
2122
  int oerrno = errno;
1639
2123
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1640
2124
 
1641
- linguist_yy_flush_buffer(b ,yyscanner);
2125
+ yy_flush_buffer( b , yyscanner);
1642
2126
 
1643
2127
  b->yy_input_file = file;
1644
2128
  b->yy_fill_buffer = 1;
1645
2129
 
1646
- /* If b is the current buffer, then linguist_yy_init_buffer was _probably_
1647
- * called from linguist_yyrestart() or through yy_get_next_buffer.
2130
+ /* If b is the current buffer, then yy_init_buffer was _probably_
2131
+ * called from yyrestart() or through yy_get_next_buffer.
1648
2132
  * In that case, we don't want to reset the lineno or column.
1649
2133
  */
1650
2134
  if (b != YY_CURRENT_BUFFER){
@@ -1661,7 +2145,7 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
1661
2145
  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1662
2146
  * @param yyscanner The scanner object.
1663
2147
  */
1664
- void linguist_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
2148
+ void yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
1665
2149
  {
1666
2150
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1667
2151
  if ( ! b )
@@ -1682,7 +2166,7 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
1682
2166
  b->yy_buffer_status = YY_BUFFER_NEW;
1683
2167
 
1684
2168
  if ( b == YY_CURRENT_BUFFER )
1685
- linguist_yy_load_buffer_state(yyscanner );
2169
+ yy_load_buffer_state( yyscanner );
1686
2170
  }
1687
2171
 
1688
2172
  /** Pushes the new state onto the stack. The new state becomes
@@ -1691,15 +2175,15 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
1691
2175
  * @param new_buffer The new state.
1692
2176
  * @param yyscanner The scanner object.
1693
2177
  */
1694
- void linguist_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2178
+ void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
1695
2179
  {
1696
2180
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1697
2181
  if (new_buffer == NULL)
1698
2182
  return;
1699
2183
 
1700
- linguist_yyensure_buffer_stack(yyscanner);
2184
+ yyensure_buffer_stack(yyscanner);
1701
2185
 
1702
- /* This block is copied from linguist_yy_switch_to_buffer. */
2186
+ /* This block is copied from yy_switch_to_buffer. */
1703
2187
  if ( YY_CURRENT_BUFFER )
1704
2188
  {
1705
2189
  /* Flush out information for old buffer. */
@@ -1713,8 +2197,8 @@ void linguist_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscann
1713
2197
  yyg->yy_buffer_stack_top++;
1714
2198
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
1715
2199
 
1716
- /* copied from linguist_yy_switch_to_buffer. */
1717
- linguist_yy_load_buffer_state(yyscanner );
2200
+ /* copied from yy_switch_to_buffer. */
2201
+ yy_load_buffer_state( yyscanner );
1718
2202
  yyg->yy_did_buffer_switch_on_eof = 1;
1719
2203
  }
1720
2204
 
@@ -1722,19 +2206,19 @@ void linguist_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscann
1722
2206
  * The next element becomes the new top.
1723
2207
  * @param yyscanner The scanner object.
1724
2208
  */
1725
- void linguist_yypop_buffer_state (yyscan_t yyscanner)
2209
+ void yypop_buffer_state (yyscan_t yyscanner)
1726
2210
  {
1727
2211
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1728
2212
  if (!YY_CURRENT_BUFFER)
1729
2213
  return;
1730
2214
 
1731
- linguist_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
2215
+ yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
1732
2216
  YY_CURRENT_BUFFER_LVALUE = NULL;
1733
2217
  if (yyg->yy_buffer_stack_top > 0)
1734
2218
  --yyg->yy_buffer_stack_top;
1735
2219
 
1736
2220
  if (YY_CURRENT_BUFFER) {
1737
- linguist_yy_load_buffer_state(yyscanner );
2221
+ yy_load_buffer_state( yyscanner );
1738
2222
  yyg->yy_did_buffer_switch_on_eof = 1;
1739
2223
  }
1740
2224
  }
@@ -1742,7 +2226,7 @@ void linguist_yypop_buffer_state (yyscan_t yyscanner)
1742
2226
  /* Allocates the stack if it does not exist.
1743
2227
  * Guarantees space for at least one push.
1744
2228
  */
1745
- static void linguist_yyensure_buffer_stack (yyscan_t yyscanner)
2229
+ static void yyensure_buffer_stack (yyscan_t yyscanner)
1746
2230
  {
1747
2231
  yy_size_t num_to_alloc;
1748
2232
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -1753,15 +2237,15 @@ static void linguist_yyensure_buffer_stack (yyscan_t yyscanner)
1753
2237
  * scanner will even need a stack. We use 2 instead of 1 to avoid an
1754
2238
  * immediate realloc on the next call.
1755
2239
  */
1756
- num_to_alloc = 1;
1757
- yyg->yy_buffer_stack = (struct yy_buffer_state**)linguist_yyalloc
2240
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2241
+ yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
1758
2242
  (num_to_alloc * sizeof(struct yy_buffer_state*)
1759
2243
  , yyscanner);
1760
2244
  if ( ! yyg->yy_buffer_stack )
1761
- YY_FATAL_ERROR( "out of dynamic memory in linguist_yyensure_buffer_stack()" );
1762
-
2245
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2246
+
1763
2247
  memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
1764
-
2248
+
1765
2249
  yyg->yy_buffer_stack_max = num_to_alloc;
1766
2250
  yyg->yy_buffer_stack_top = 0;
1767
2251
  return;
@@ -1770,15 +2254,15 @@ static void linguist_yyensure_buffer_stack (yyscan_t yyscanner)
1770
2254
  if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
1771
2255
 
1772
2256
  /* Increase the buffer to prepare for a possible push. */
1773
- int grow_size = 8 /* arbitrary grow size */;
2257
+ yy_size_t grow_size = 8 /* arbitrary grow size */;
1774
2258
 
1775
2259
  num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
1776
- yyg->yy_buffer_stack = (struct yy_buffer_state**)linguist_yyrealloc
2260
+ yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
1777
2261
  (yyg->yy_buffer_stack,
1778
2262
  num_to_alloc * sizeof(struct yy_buffer_state*)
1779
2263
  , yyscanner);
1780
2264
  if ( ! yyg->yy_buffer_stack )
1781
- YY_FATAL_ERROR( "out of dynamic memory in linguist_yyensure_buffer_stack()" );
2265
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
1782
2266
 
1783
2267
  /* zero only the new slots.*/
1784
2268
  memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -1790,9 +2274,9 @@ static void linguist_yyensure_buffer_stack (yyscan_t yyscanner)
1790
2274
  * @param base the character buffer
1791
2275
  * @param size the size in bytes of the character buffer
1792
2276
  * @param yyscanner The scanner object.
1793
- * @return the newly allocated buffer state object.
2277
+ * @return the newly allocated buffer state object.
1794
2278
  */
1795
- YY_BUFFER_STATE linguist_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
2279
+ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
1796
2280
  {
1797
2281
  YY_BUFFER_STATE b;
1798
2282
 
@@ -1800,68 +2284,69 @@ YY_BUFFER_STATE linguist_yy_scan_buffer (char * base, yy_size_t size , yyscan_
1800
2284
  base[size-2] != YY_END_OF_BUFFER_CHAR ||
1801
2285
  base[size-1] != YY_END_OF_BUFFER_CHAR )
1802
2286
  /* They forgot to leave room for the EOB's. */
1803
- return 0;
2287
+ return NULL;
1804
2288
 
1805
- b = (YY_BUFFER_STATE) linguist_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2289
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
1806
2290
  if ( ! b )
1807
- YY_FATAL_ERROR( "out of dynamic memory in linguist_yy_scan_buffer()" );
2291
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1808
2292
 
1809
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2293
+ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
1810
2294
  b->yy_buf_pos = b->yy_ch_buf = base;
1811
2295
  b->yy_is_our_buffer = 0;
1812
- b->yy_input_file = 0;
2296
+ b->yy_input_file = NULL;
1813
2297
  b->yy_n_chars = b->yy_buf_size;
1814
2298
  b->yy_is_interactive = 0;
1815
2299
  b->yy_at_bol = 1;
1816
2300
  b->yy_fill_buffer = 0;
1817
2301
  b->yy_buffer_status = YY_BUFFER_NEW;
1818
2302
 
1819
- linguist_yy_switch_to_buffer(b ,yyscanner );
2303
+ yy_switch_to_buffer( b , yyscanner );
1820
2304
 
1821
2305
  return b;
1822
2306
  }
1823
2307
 
1824
- /** Setup the input buffer state to scan a string. The next call to linguist_yylex() will
2308
+ /** Setup the input buffer state to scan a string. The next call to yylex() will
1825
2309
  * scan from a @e copy of @a str.
1826
2310
  * @param yystr a NUL-terminated string to scan
1827
2311
  * @param yyscanner The scanner object.
1828
2312
  * @return the newly allocated buffer state object.
1829
2313
  * @note If you want to scan bytes that may contain NUL values, then use
1830
- * linguist_yy_scan_bytes() instead.
2314
+ * yy_scan_bytes() instead.
1831
2315
  */
1832
- YY_BUFFER_STATE linguist_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
2316
+ YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
1833
2317
  {
1834
2318
 
1835
- return linguist_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner);
2319
+ return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
1836
2320
  }
1837
2321
 
1838
- /** Setup the input buffer state to scan the given bytes. The next call to linguist_yylex() will
2322
+ /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
1839
2323
  * scan from a @e copy of @a bytes.
1840
- * @param bytes the byte buffer to scan
1841
- * @param len the number of bytes in the buffer pointed to by @a bytes.
2324
+ * @param yybytes the byte buffer to scan
2325
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
1842
2326
  * @param yyscanner The scanner object.
1843
2327
  * @return the newly allocated buffer state object.
1844
2328
  */
1845
- YY_BUFFER_STATE linguist_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
2329
+ YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len , yyscan_t yyscanner)
1846
2330
  {
1847
2331
  YY_BUFFER_STATE b;
1848
2332
  char *buf;
1849
- yy_size_t n, i;
2333
+ yy_size_t n;
2334
+ int i;
1850
2335
 
1851
2336
  /* Get memory for full buffer, including space for trailing EOB's. */
1852
- n = _yybytes_len + 2;
1853
- buf = (char *) linguist_yyalloc(n ,yyscanner );
2337
+ n = (yy_size_t) (_yybytes_len + 2);
2338
+ buf = (char *) yyalloc( n , yyscanner );
1854
2339
  if ( ! buf )
1855
- YY_FATAL_ERROR( "out of dynamic memory in linguist_yy_scan_bytes()" );
2340
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1856
2341
 
1857
2342
  for ( i = 0; i < _yybytes_len; ++i )
1858
2343
  buf[i] = yybytes[i];
1859
2344
 
1860
2345
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
1861
2346
 
1862
- b = linguist_yy_scan_buffer(buf,n ,yyscanner);
2347
+ b = yy_scan_buffer( buf, n , yyscanner);
1863
2348
  if ( ! b )
1864
- YY_FATAL_ERROR( "bad buffer in linguist_yy_scan_bytes()" );
2349
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1865
2350
 
1866
2351
  /* It's okay to grow etc. this buffer, and we should throw it
1867
2352
  * away when we're done.
@@ -1875,9 +2360,11 @@ YY_BUFFER_STATE linguist_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yyb
1875
2360
  #define YY_EXIT_FAILURE 2
1876
2361
  #endif
1877
2362
 
1878
- static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
2363
+ static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
1879
2364
  {
1880
- (void) fprintf( stderr, "%s\n", msg );
2365
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2366
+ (void)yyg;
2367
+ fprintf( stderr, "%s\n", msg );
1881
2368
  exit( YY_EXIT_FAILURE );
1882
2369
  }
1883
2370
 
@@ -1903,7 +2390,7 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
1903
2390
  /** Get the user-defined data for this scanner.
1904
2391
  * @param yyscanner The scanner object.
1905
2392
  */
1906
- YY_EXTRA_TYPE linguist_yyget_extra (yyscan_t yyscanner)
2393
+ YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner)
1907
2394
  {
1908
2395
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1909
2396
  return yyextra;
@@ -1912,10 +2399,10 @@ YY_EXTRA_TYPE linguist_yyget_extra (yyscan_t yyscanner)
1912
2399
  /** Get the current line number.
1913
2400
  * @param yyscanner The scanner object.
1914
2401
  */
1915
- int linguist_yyget_lineno (yyscan_t yyscanner)
2402
+ int yyget_lineno (yyscan_t yyscanner)
1916
2403
  {
1917
2404
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1918
-
2405
+
1919
2406
  if (! YY_CURRENT_BUFFER)
1920
2407
  return 0;
1921
2408
 
@@ -1925,10 +2412,10 @@ int linguist_yyget_lineno (yyscan_t yyscanner)
1925
2412
  /** Get the current column number.
1926
2413
  * @param yyscanner The scanner object.
1927
2414
  */
1928
- int linguist_yyget_column (yyscan_t yyscanner)
2415
+ int yyget_column (yyscan_t yyscanner)
1929
2416
  {
1930
2417
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1931
-
2418
+
1932
2419
  if (! YY_CURRENT_BUFFER)
1933
2420
  return 0;
1934
2421
 
@@ -1938,7 +2425,7 @@ int linguist_yyget_column (yyscan_t yyscanner)
1938
2425
  /** Get the input stream.
1939
2426
  * @param yyscanner The scanner object.
1940
2427
  */
1941
- FILE *linguist_yyget_in (yyscan_t yyscanner)
2428
+ FILE *yyget_in (yyscan_t yyscanner)
1942
2429
  {
1943
2430
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1944
2431
  return yyin;
@@ -1947,7 +2434,7 @@ FILE *linguist_yyget_in (yyscan_t yyscanner)
1947
2434
  /** Get the output stream.
1948
2435
  * @param yyscanner The scanner object.
1949
2436
  */
1950
- FILE *linguist_yyget_out (yyscan_t yyscanner)
2437
+ FILE *yyget_out (yyscan_t yyscanner)
1951
2438
  {
1952
2439
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1953
2440
  return yyout;
@@ -1956,7 +2443,7 @@ FILE *linguist_yyget_out (yyscan_t yyscanner)
1956
2443
  /** Get the length of the current token.
1957
2444
  * @param yyscanner The scanner object.
1958
2445
  */
1959
- yy_size_t linguist_yyget_leng (yyscan_t yyscanner)
2446
+ int yyget_leng (yyscan_t yyscanner)
1960
2447
  {
1961
2448
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1962
2449
  return yyleng;
@@ -1966,7 +2453,7 @@ yy_size_t linguist_yyget_leng (yyscan_t yyscanner)
1966
2453
  * @param yyscanner The scanner object.
1967
2454
  */
1968
2455
 
1969
- char *linguist_yyget_text (yyscan_t yyscanner)
2456
+ char *yyget_text (yyscan_t yyscanner)
1970
2457
  {
1971
2458
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1972
2459
  return yytext;
@@ -1976,90 +2463,88 @@ char *linguist_yyget_text (yyscan_t yyscanner)
1976
2463
  * @param user_defined The data to be associated with this scanner.
1977
2464
  * @param yyscanner The scanner object.
1978
2465
  */
1979
- void linguist_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
2466
+ void yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
1980
2467
  {
1981
2468
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1982
2469
  yyextra = user_defined ;
1983
2470
  }
1984
2471
 
1985
2472
  /** Set the current line number.
1986
- * @param line_number
2473
+ * @param _line_number line number
1987
2474
  * @param yyscanner The scanner object.
1988
2475
  */
1989
- void linguist_yyset_lineno (int line_number , yyscan_t yyscanner)
2476
+ void yyset_lineno (int _line_number , yyscan_t yyscanner)
1990
2477
  {
1991
2478
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1992
2479
 
1993
2480
  /* lineno is only valid if an input buffer exists. */
1994
2481
  if (! YY_CURRENT_BUFFER )
1995
- yy_fatal_error( "linguist_yyset_lineno called with no buffer" , yyscanner);
2482
+ YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
1996
2483
 
1997
- yylineno = line_number;
2484
+ yylineno = _line_number;
1998
2485
  }
1999
2486
 
2000
2487
  /** Set the current column.
2001
- * @param line_number
2488
+ * @param _column_no column number
2002
2489
  * @param yyscanner The scanner object.
2003
2490
  */
2004
- void linguist_yyset_column (int column_no , yyscan_t yyscanner)
2491
+ void yyset_column (int _column_no , yyscan_t yyscanner)
2005
2492
  {
2006
2493
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2007
2494
 
2008
2495
  /* column is only valid if an input buffer exists. */
2009
2496
  if (! YY_CURRENT_BUFFER )
2010
- yy_fatal_error( "linguist_yyset_column called with no buffer" , yyscanner);
2497
+ YY_FATAL_ERROR( "yyset_column called with no buffer" );
2011
2498
 
2012
- yycolumn = column_no;
2499
+ yycolumn = _column_no;
2013
2500
  }
2014
2501
 
2015
2502
  /** Set the input stream. This does not discard the current
2016
2503
  * input buffer.
2017
- * @param in_str A readable stream.
2504
+ * @param _in_str A readable stream.
2018
2505
  * @param yyscanner The scanner object.
2019
- * @see linguist_yy_switch_to_buffer
2506
+ * @see yy_switch_to_buffer
2020
2507
  */
2021
- void linguist_yyset_in (FILE * in_str , yyscan_t yyscanner)
2508
+ void yyset_in (FILE * _in_str , yyscan_t yyscanner)
2022
2509
  {
2023
2510
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2024
- yyin = in_str ;
2511
+ yyin = _in_str ;
2025
2512
  }
2026
2513
 
2027
- void linguist_yyset_out (FILE * out_str , yyscan_t yyscanner)
2514
+ void yyset_out (FILE * _out_str , yyscan_t yyscanner)
2028
2515
  {
2029
2516
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2030
- yyout = out_str ;
2517
+ yyout = _out_str ;
2031
2518
  }
2032
2519
 
2033
- int linguist_yyget_debug (yyscan_t yyscanner)
2520
+ int yyget_debug (yyscan_t yyscanner)
2034
2521
  {
2035
2522
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2036
2523
  return yy_flex_debug;
2037
2524
  }
2038
2525
 
2039
- void linguist_yyset_debug (int bdebug , yyscan_t yyscanner)
2526
+ void yyset_debug (int _bdebug , yyscan_t yyscanner)
2040
2527
  {
2041
2528
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2042
- yy_flex_debug = bdebug ;
2529
+ yy_flex_debug = _bdebug ;
2043
2530
  }
2044
2531
 
2045
2532
  /* Accessor methods for yylval and yylloc */
2046
2533
 
2047
2534
  /* User-visible API */
2048
2535
 
2049
- /* linguist_yylex_init is special because it creates the scanner itself, so it is
2536
+ /* yylex_init is special because it creates the scanner itself, so it is
2050
2537
  * the ONLY reentrant function that doesn't take the scanner as the last argument.
2051
2538
  * That's why we explicitly handle the declaration, instead of using our macros.
2052
2539
  */
2053
-
2054
- int linguist_yylex_init(yyscan_t* ptr_yy_globals)
2055
-
2540
+ int yylex_init(yyscan_t* ptr_yy_globals)
2056
2541
  {
2057
2542
  if (ptr_yy_globals == NULL){
2058
2543
  errno = EINVAL;
2059
2544
  return 1;
2060
2545
  }
2061
2546
 
2062
- *ptr_yy_globals = (yyscan_t) linguist_yyalloc ( sizeof( struct yyguts_t ), NULL );
2547
+ *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
2063
2548
 
2064
2549
  if (*ptr_yy_globals == NULL){
2065
2550
  errno = ENOMEM;
@@ -2072,39 +2557,37 @@ int linguist_yylex_init(yyscan_t* ptr_yy_globals)
2072
2557
  return yy_init_globals ( *ptr_yy_globals );
2073
2558
  }
2074
2559
 
2075
- /* linguist_yylex_init_extra has the same functionality as linguist_yylex_init, but follows the
2560
+ /* yylex_init_extra has the same functionality as yylex_init, but follows the
2076
2561
  * convention of taking the scanner as the last argument. Note however, that
2077
2562
  * this is a *pointer* to a scanner, as it will be allocated by this call (and
2078
2563
  * is the reason, too, why this function also must handle its own declaration).
2079
- * The user defined value in the first argument will be available to linguist_yyalloc in
2564
+ * The user defined value in the first argument will be available to yyalloc in
2080
2565
  * the yyextra field.
2081
2566
  */
2082
-
2083
- int linguist_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
2084
-
2567
+ int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
2085
2568
  {
2086
2569
  struct yyguts_t dummy_yyguts;
2087
2570
 
2088
- linguist_yyset_extra (yy_user_defined, &dummy_yyguts);
2571
+ yyset_extra (yy_user_defined, &dummy_yyguts);
2089
2572
 
2090
2573
  if (ptr_yy_globals == NULL){
2091
2574
  errno = EINVAL;
2092
2575
  return 1;
2093
2576
  }
2094
-
2095
- *ptr_yy_globals = (yyscan_t) linguist_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
2096
-
2577
+
2578
+ *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
2579
+
2097
2580
  if (*ptr_yy_globals == NULL){
2098
2581
  errno = ENOMEM;
2099
2582
  return 1;
2100
2583
  }
2101
-
2584
+
2102
2585
  /* By setting to 0xAA, we expose bugs in
2103
2586
  yy_init_globals. Leave at 0x00 for releases. */
2104
2587
  memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
2105
-
2106
- linguist_yyset_extra (yy_user_defined, *ptr_yy_globals);
2107
-
2588
+
2589
+ yyset_extra (yy_user_defined, *ptr_yy_globals);
2590
+
2108
2591
  return yy_init_globals ( *ptr_yy_globals );
2109
2592
  }
2110
2593
 
@@ -2112,13 +2595,13 @@ static int yy_init_globals (yyscan_t yyscanner)
2112
2595
  {
2113
2596
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2114
2597
  /* Initialization is the same as for the non-reentrant scanner.
2115
- * This function is called from linguist_yylex_destroy(), so don't allocate here.
2598
+ * This function is called from yylex_destroy(), so don't allocate here.
2116
2599
  */
2117
2600
 
2118
- yyg->yy_buffer_stack = 0;
2601
+ yyg->yy_buffer_stack = NULL;
2119
2602
  yyg->yy_buffer_stack_top = 0;
2120
2603
  yyg->yy_buffer_stack_max = 0;
2121
- yyg->yy_c_buf_p = (char *) 0;
2604
+ yyg->yy_c_buf_p = NULL;
2122
2605
  yyg->yy_init = 0;
2123
2606
  yyg->yy_start = 0;
2124
2607
 
@@ -2126,47 +2609,55 @@ static int yy_init_globals (yyscan_t yyscanner)
2126
2609
  yyg->yy_start_stack_depth = 0;
2127
2610
  yyg->yy_start_stack = NULL;
2128
2611
 
2612
+ yyg->yy_state_buf = 0;
2613
+ yyg->yy_state_ptr = 0;
2614
+ yyg->yy_full_match = 0;
2615
+ yyg->yy_lp = 0;
2616
+
2129
2617
  /* Defined in main.c */
2130
2618
  #ifdef YY_STDINIT
2131
2619
  yyin = stdin;
2132
2620
  yyout = stdout;
2133
2621
  #else
2134
- yyin = (FILE *) 0;
2135
- yyout = (FILE *) 0;
2622
+ yyin = NULL;
2623
+ yyout = NULL;
2136
2624
  #endif
2137
2625
 
2138
2626
  /* For future reference: Set errno on error, since we are called by
2139
- * linguist_yylex_init()
2627
+ * yylex_init()
2140
2628
  */
2141
2629
  return 0;
2142
2630
  }
2143
2631
 
2144
- /* linguist_yylex_destroy is for both reentrant and non-reentrant scanners. */
2145
- int linguist_yylex_destroy (yyscan_t yyscanner)
2632
+ /* yylex_destroy is for both reentrant and non-reentrant scanners. */
2633
+ int yylex_destroy (yyscan_t yyscanner)
2146
2634
  {
2147
2635
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2148
2636
 
2149
2637
  /* Pop the buffer stack, destroying each element. */
2150
2638
  while(YY_CURRENT_BUFFER){
2151
- linguist_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
2639
+ yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
2152
2640
  YY_CURRENT_BUFFER_LVALUE = NULL;
2153
- linguist_yypop_buffer_state(yyscanner);
2641
+ yypop_buffer_state(yyscanner);
2154
2642
  }
2155
2643
 
2156
2644
  /* Destroy the stack itself. */
2157
- linguist_yyfree(yyg->yy_buffer_stack ,yyscanner);
2645
+ yyfree(yyg->yy_buffer_stack , yyscanner);
2158
2646
  yyg->yy_buffer_stack = NULL;
2159
2647
 
2160
2648
  /* Destroy the start condition stack. */
2161
- linguist_yyfree(yyg->yy_start_stack ,yyscanner );
2649
+ yyfree( yyg->yy_start_stack , yyscanner );
2162
2650
  yyg->yy_start_stack = NULL;
2163
2651
 
2652
+ yyfree ( yyg->yy_state_buf , yyscanner);
2653
+ yyg->yy_state_buf = NULL;
2654
+
2164
2655
  /* Reset the globals. This is important in a non-reentrant scanner so the next time
2165
- * linguist_yylex() is called, initialization will occur. */
2656
+ * yylex() is called, initialization will occur. */
2166
2657
  yy_init_globals( yyscanner);
2167
2658
 
2168
2659
  /* Destroy the main struct (reentrant only). */
2169
- linguist_yyfree ( yyscanner , yyscanner );
2660
+ yyfree ( yyscanner , yyscanner );
2170
2661
  yyscanner = NULL;
2171
2662
  return 0;
2172
2663
  }
@@ -2176,18 +2667,21 @@ int linguist_yylex_destroy (yyscan_t yyscanner)
2176
2667
  */
2177
2668
 
2178
2669
  #ifndef yytext_ptr
2179
- static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
2670
+ static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
2180
2671
  {
2181
- register int i;
2672
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2673
+ (void)yyg;
2674
+
2675
+ int i;
2182
2676
  for ( i = 0; i < n; ++i )
2183
2677
  s1[i] = s2[i];
2184
2678
  }
2185
2679
  #endif
2186
2680
 
2187
2681
  #ifdef YY_NEED_STRLEN
2188
- static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
2682
+ static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
2189
2683
  {
2190
- register int n;
2684
+ int n;
2191
2685
  for ( n = 0; s[n]; ++n )
2192
2686
  ;
2193
2687
 
@@ -2195,13 +2689,18 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
2195
2689
  }
2196
2690
  #endif
2197
2691
 
2198
- void *linguist_yyalloc (yy_size_t size , yyscan_t yyscanner)
2692
+ void *yyalloc (yy_size_t size , yyscan_t yyscanner)
2199
2693
  {
2200
- return (void *) malloc( size );
2694
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2695
+ (void)yyg;
2696
+ return malloc(size);
2201
2697
  }
2202
2698
 
2203
- void *linguist_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
2699
+ void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
2204
2700
  {
2701
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2702
+ (void)yyg;
2703
+
2205
2704
  /* The cast to (char *) in the following accommodates both
2206
2705
  * implementations that use char* generic pointers, and those
2207
2706
  * that use void* generic pointers. It works with the latter
@@ -2209,18 +2708,19 @@ void *linguist_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
2209
2708
  * any pointer type to void*, and deal with argument conversions
2210
2709
  * as though doing an assignment.
2211
2710
  */
2212
- return (void *) realloc( (char *) ptr, size );
2711
+ return realloc(ptr, size);
2213
2712
  }
2214
2713
 
2215
- void linguist_yyfree (void * ptr , yyscan_t yyscanner)
2714
+ void yyfree (void * ptr , yyscan_t yyscanner)
2216
2715
  {
2217
- free( (char *) ptr ); /* see linguist_yyrealloc() for (char *) cast */
2716
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2717
+ (void)yyg;
2718
+ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
2218
2719
  }
2219
2720
 
2220
2721
  #define YYTABLES_NAME "yytables"
2221
2722
 
2222
- #line 118 "tokenizer.l"
2223
-
2723
+ #line 136 "tokenizer.l"
2224
2724
 
2225
2725
 
2226
2726