github-linguist 7.11.1 → 7.12.0

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