github-linguist 7.11.1 → 7.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/linguist/lex.linguist_yy.c +619 -363
- data/ext/linguist/lex.linguist_yy.h +425 -59
- data/ext/linguist/linguist.c +5 -35
- data/ext/linguist/linguist.h +0 -18
- data/ext/linguist/tokenizer.l +61 -36
- data/grammars/annotation.liquidhaskell.haskell.json +1 -1835
- data/grammars/config.xcompose.json +1 -80
- data/grammars/documentation.markdown.injection.haxe.json +1 -22
- data/grammars/etc.json +1 -987
- data/grammars/file.lasso.json +1 -702
- data/grammars/hidden.manref.json +1 -29
- data/grammars/hidden.regexp.injection-shell.json +1 -28
- data/grammars/hint.haskell.json +1 -1762
- data/grammars/hint.message.haskell.json +1 -1786
- data/grammars/hint.type.haskell.json +1 -1759
- data/grammars/injections.etc.json +1 -659
- data/grammars/inline.prisma.json +1 -55
- data/grammars/markdown.hack.codeblock.json +1 -20
- data/grammars/markdown.haxe.codeblock.json +1 -26
- data/grammars/markdown.hxml.codeblock.json +1 -26
- data/grammars/markdown.plantuml.codeblock.json +1 -26
- data/grammars/objdump.x86asm.json +1 -69
- data/grammars/source.4dm.json +1 -1156
- data/grammars/source.SASLog.json +1 -18
- data/grammars/source.abap.json +1 -335
- data/grammars/source.abl.json +1 -734
- data/grammars/source.abnf.json +1 -294
- data/grammars/source.actionscript.3.json +1 -1538
- data/grammars/source.acucobol.json +1 -13
- data/grammars/source.ada.json +1 -133
- data/grammars/source.afm.json +1 -1207
- data/grammars/source.agc.json +1 -87
- data/grammars/source.agda.json +1 -72
- data/grammars/source.ahk.json +1 -195
- data/grammars/source.al.json +1 -130
- data/grammars/source.alloy.json +1 -40
- data/grammars/source.ampl.json +1 -151
- data/grammars/source.angelscript.json +1 -186
- data/grammars/source.antlr.json +1 -295
- data/grammars/source.apache-config.json +1 -346
- data/grammars/source.apache-config.mod_perl.json +1 -65
- data/grammars/source.apl.json +1 -1427
- data/grammars/source.applescript.json +1 -1384
- data/grammars/source.asl.json +1 -56
- data/grammars/source.asn.json +1 -55
- data/grammars/source.asp.json +1 -151
- data/grammars/source.aspectj.json +1 -960
- data/grammars/source.assembly.json +1 -116
- data/grammars/source.ats.json +1 -164
- data/grammars/source.autoit.json +1 -167
- data/grammars/source.avro.json +1 -381
- data/grammars/source.awk.json +1 -384
- data/grammars/source.ballerina.json +1 -1785
- data/grammars/source.batchfile.json +1 -732
- data/grammars/source.bdf.json +1 -425
- data/grammars/source.befunge.json +1 -34
- data/grammars/source.bf.json +1 -30
- data/grammars/source.blitzmax.json +1 -905
- data/grammars/source.bnf.json +1 -191
- data/grammars/source.boo.json +1 -448
- data/grammars/source.brightauthorproject.json +1 -24
- data/grammars/source.brightscript.json +1 -148
- data/grammars/source.bsl.json +1 -451
- data/grammars/source.bsv.json +1 -277
- data/grammars/source.c++.json +1 -436
- data/grammars/source.c++.qt.json +1 -29
- data/grammars/source.c.ec.json +1 -33
- data/grammars/source.c.json +1 -712
- data/grammars/source.c.nwscript.json +1 -0
- data/grammars/source.c.platform.json +1 -1115
- data/grammars/source.c2hs.json +1 -24
- data/grammars/source.cabal.json +1 -63
- data/grammars/source.cache.cmake.json +1 -70
- data/grammars/source.cake.json +1 -13
- data/grammars/source.camlp4.ocaml.json +1 -60
- data/grammars/source.capnp.json +1 -88
- data/grammars/source.ceylon.json +1 -93
- data/grammars/source.cfscript.cfc.json +1 -162
- data/grammars/source.cfscript.json +1 -737
- data/grammars/source.changelogs.rpm-spec.json +1 -91
- data/grammars/source.chapel.json +1 -265
- data/grammars/source.cirru.json +1 -61
- data/grammars/source.clarion.json +1 -146
- data/grammars/source.clean.json +1 -222
- data/grammars/source.click.json +1 -107
- data/grammars/source.clips.json +1 -67
- data/grammars/source.clojure.json +1 -429
- data/grammars/source.cm.json +1 -49
- data/grammars/source.cmake.json +1 -173
- data/grammars/source.cobol.json +1 -485
- data/grammars/source.coffee.json +1 -1310
- data/grammars/source.cool.json +1 -96
- data/grammars/source.coq.json +1 -58
- data/grammars/source.crystal.json +1 -2694
- data/grammars/source.cs.json +1 -4323
- data/grammars/source.csound-document.json +1 -175
- data/grammars/source.csound-score.json +1 -191
- data/grammars/source.csound.json +1 -824
- data/grammars/source.css.json +1 -1859
- data/grammars/source.css.less.json +1 -536
- data/grammars/source.css.mss.json +1 -249
- data/grammars/source.css.postcss.sugarss.json +1 -260
- data/grammars/source.css.scss.json +1 -1873
- data/grammars/source.csx.json +1 -13
- data/grammars/source.cuda-c++.json +1 -103
- data/grammars/source.curlrc.json +1 -984
- data/grammars/source.cwl.json +1 -103
- data/grammars/source.cython.json +1 -1912
- data/grammars/source.d.json +1 -741
- data/grammars/source.dart.json +1 -433
- data/grammars/source.data-weave.json +1 -1580
- data/grammars/source.desktop.json +1 -86
- data/grammars/source.diff.json +1 -153
- data/grammars/source.dircolors.json +1 -137
- data/grammars/source.direct-x.json +1 -135
- data/grammars/source.disasm.json +1 -30
- data/grammars/source.ditroff.desc.json +1 -411
- data/grammars/source.ditroff.json +1 -1280
- data/grammars/source.dm.json +1 -628
- data/grammars/source.dmf.json +1 -96
- data/grammars/source.dockerfile.json +1 -88
- data/grammars/source.dosbox-conf.json +1 -97
- data/grammars/source.dot.json +1 -117
- data/grammars/source.dylan.json +1 -212
- data/grammars/source.ebnf.json +1 -240
- data/grammars/source.editorconfig.json +1 -365
- data/grammars/source.eiffel.json +1 -133
- data/grammars/source.elixir.json +1 -965
- data/grammars/source.elm.json +1 -375
- data/grammars/source.emacs.lisp.json +1 -1301
- data/grammars/source.erlang.json +1 -1647
- data/grammars/source.essl.json +1 -37
- data/grammars/source.factor.json +1 -252
- data/grammars/source.fan.json +1 -341
- data/grammars/source.fancy.json +1 -245
- data/grammars/source.faust.json +1 -119
- data/grammars/source.figctrl.json +1 -252
- data/grammars/source.figfont.json +1 -121
- data/grammars/source.firestore.json +1 -289
- data/grammars/source.fish.json +1 -190
- data/grammars/source.fontdir.json +1 -99
- data/grammars/source.fontforge.json +1 -355
- data/grammars/source.forth.json +1 -84
- data/grammars/source.fortran.json +1 -464
- data/grammars/source.fortran.modern.json +1 -200
- data/grammars/source.fsharp.fsi.json +1 -9
- data/grammars/source.fsharp.fsl.json +1 -9
- data/grammars/source.fsharp.fsx.json +1 -13
- data/grammars/source.fsharp.json +1 -452
- data/grammars/source.fstar.json +1 -439
- data/grammars/source.futhark.json +1 -167
- data/grammars/source.gap.json +1 -163
- data/grammars/source.gcode.json +1 -176
- data/grammars/source.gdb.json +1 -160
- data/grammars/source.gdb.session.json +1 -70
- data/grammars/source.gdbregs.json +1 -14
- data/grammars/source.gdscript.json +1 -491
- data/grammars/source.gedcom.json +1 -196
- data/grammars/source.generic-db.json +1 -41
- data/grammars/source.gerber.json +1 -321
- data/grammars/source.gf.json +1 -51
- data/grammars/source.gfm.blade.json +1 -15
- data/grammars/source.gfm.json +1 -1913
- data/grammars/source.gitattributes.json +1 -111
- data/grammars/source.gitconfig.json +1 -450
- data/grammars/source.gitignore.json +1 -140
- data/grammars/source.glsl.json +1 -139
- data/grammars/source.gn.json +1 -345
- data/grammars/source.gnuplot.json +1 -260
- data/grammars/source.go.json +1 -540
- data/grammars/source.golo.json +1 -177
- data/grammars/source.gosu.2.json +1 -153
- data/grammars/source.grace.json +1 -675
- data/grammars/source.graphql.json +1 -978
- data/grammars/source.gremlin.json +1 -200
- data/grammars/source.groovy.gradle.json +1 -69
- data/grammars/source.groovy.json +1 -1374
- data/grammars/source.hack.json +1 -2595
- data/grammars/source.haproxy-config.json +1 -152
- data/grammars/source.harbour.json +1 -388
- data/grammars/source.haskell.json +1 -1760
- data/grammars/source.hc.json +1 -709
- data/grammars/source.hgignore.json +1 -34
- data/grammars/source.hlsl.json +1 -211
- data/grammars/source.hosts.json +1 -40
- data/grammars/source.hql.json +1 -492
- data/grammars/source.hsc2hs.json +1 -9
- data/grammars/source.hsig.json +1 -1760
- data/grammars/source.httpspec.json +1 -283
- data/grammars/source.hx.argument.json +1 -80
- data/grammars/source.hx.json +1 -2428
- data/grammars/source.hx.type.json +1 -8
- data/grammars/source.hxml.json +1 -59
- data/grammars/source.hy.json +1 -429
- data/grammars/source.ideal.json +1 -356
- data/grammars/source.idl-dlm.json +1 -105
- data/grammars/source.idl.json +1 -246
- data/grammars/source.idris.json +1 -523
- data/grammars/source.igor.json +1 -369
- data/grammars/source.inform7.json +1 -183
- data/grammars/source.ini.json +1 -107
- data/grammars/source.ini.npmrc.json +1 -311
- data/grammars/source.inno.json +1 -133
- data/grammars/source.inputrc.json +1 -500
- data/grammars/source.io.json +1 -156
- data/grammars/source.ioke.json +1 -266
- data/grammars/source.isabelle.root.json +1 -64
- data/grammars/source.isabelle.theory.json +1 -102
- data/grammars/source.j.json +1 -260
- data/grammars/source.jasmin.json +1 -294
- data/grammars/source.java-properties.json +1 -87
- data/grammars/source.java.json +1 -1020
- data/grammars/source.jcl.json +1 -46
- data/grammars/source.jflex.json +1 -484
- data/grammars/source.jison.json +1 -711
- data/grammars/source.jisonlex-injection.json +1 -10
- data/grammars/source.jisonlex.json +1 -434
- data/grammars/source.jolie.json +1 -132
- data/grammars/source.jq.json +1 -211
- data/grammars/source.js.css.json +1 -328
- data/grammars/source.js.json +1 -1897
- data/grammars/source.js.jsx.json +1 -2488
- data/grammars/source.js.objj.json +1 -419
- data/grammars/source.js.regexp.json +1 -152
- data/grammars/source.js.regexp.replacement.json +1 -26
- data/grammars/source.jsdoc.json +1 -460
- data/grammars/source.json.json +1 -139
- data/grammars/source.jsonnet.json +1 -197
- data/grammars/source.julia.console.json +1 -51
- data/grammars/source.julia.json +1 -991
- data/grammars/source.kotlin.json +1 -704
- data/grammars/source.lark.json +1 -0
- data/grammars/source.lbnf.json +1 -0
- data/grammars/source.lcov.json +1 -398
- data/grammars/source.lean.json +1 -226
- data/grammars/source.lean.markdown.json +1 -2598
- data/grammars/source.lex.json +1 -232
- data/grammars/source.lex.regexp.json +1 -269
- data/grammars/source.lid.json +1 -19
- data/grammars/source.lilypond.json +1 -869
- data/grammars/source.lisp.json +1 -101
- data/grammars/source.litcoffee.json +1 -654
- data/grammars/source.livescript.json +1 -603
- data/grammars/source.llvm.json +1 -61
- data/grammars/source.logos.json +1 -24
- data/grammars/source.logtalk.json +1 -310
- data/grammars/source.loomscript.json +1 -208
- data/grammars/source.lsl.json +1 -241
- data/grammars/source.ltspice.symbol.json +1 -294
- data/grammars/source.lua.json +1 -275
- data/grammars/source.m2.json +1 -125
- data/grammars/source.m4.json +1 -229
- data/grammars/source.m68k.json +1 -412
- data/grammars/source.mailmap.json +1 -28
- data/grammars/source.makefile.json +1 -470
- data/grammars/source.makegen.json +1 -9
- data/grammars/source.man-conf.json +1 -153
- data/grammars/source.mask.json +1 -816
- data/grammars/source.mata.json +1 -125
- data/grammars/source.mathematica.json +1 -416
- data/grammars/source.matlab.json +1 -1096
- data/grammars/source.maxscript.json +1 -465
- data/grammars/source.mcfunction-snapshot.json +1 -24480
- data/grammars/source.mcfunction.json +1 -1354
- data/grammars/source.mercury.json +1 -246
- data/grammars/source.meson.json +1 -165
- data/grammars/source.meta-info.json +1 -146
- data/grammars/source.ml.json +1 -285
- data/grammars/source.mlir.json +1 -109
- data/grammars/source.modelica.json +1 -142
- data/grammars/source.modula-3.json +1 -88
- data/grammars/source.modula2.json +1 -94
- data/grammars/source.monkey.json +1 -694
- data/grammars/source.moonscript.json +1 -144
- data/grammars/source.mql5.json +1 -187
- data/grammars/source.msl.json +1 -755
- data/grammars/source.mupad.json +1 -131
- data/grammars/source.nanorc.json +1 -333
- data/grammars/source.nasl.json +1 -155
- data/grammars/source.ncl.json +1 -53
- data/grammars/source.ne.json +1 -105
- data/grammars/source.nemerle.json +1 -132
- data/grammars/source.neon.json +1 -381
- data/grammars/source.nesc.json +1 -21
- data/grammars/source.netlinx.erb.json +1 -34
- data/grammars/source.netlinx.json +1 -704
- data/grammars/source.nextflow-groovy.json +1 -1359
- data/grammars/source.nextflow.json +1 -94
- data/grammars/source.nginx.json +1 -815
- data/grammars/source.nim.comment.json +1 -82
- data/grammars/source.nim.json +1 -1083
- data/grammars/source.nim_filter.json +1 -113
- data/grammars/source.nimcfg.json +1 -103
- data/grammars/source.ninja.json +1 -248
- data/grammars/source.nit.json +1 -234
- data/grammars/source.nix.json +1 -1196
- data/grammars/source.nsis.json +1 -152
- data/grammars/source.nu.json +1 -516
- data/grammars/source.nut.json +1 -262
- data/grammars/source.objc++.json +1 -12
- data/grammars/source.objc.json +1 -910
- data/grammars/source.objc.platform.json +1 -842
- data/grammars/source.objectscript.json +1 -309
- data/grammars/source.objectscript_class.json +1 -674
- data/grammars/source.objectscript_csp.json +1 -19
- data/grammars/source.objectscript_macros.json +1 -226
- data/grammars/source.ocaml.json +1 -1418
- data/grammars/source.ocamllex.json +1 -298
- data/grammars/source.ocamlyacc.json +1 -339
- data/grammars/source.odin-ehr.json +1 -806
- data/grammars/source.odin.json +1 -402
- data/grammars/source.ooc.json +1 -685
- data/grammars/source.opa.json +1 -196
- data/grammars/source.opal.json +1 -410
- data/grammars/source.opalsysdefs.json +1 -66
- data/grammars/source.openbsd-pkg.contents.json +1 -128
- data/grammars/source.opencobol.json +1 -62
- data/grammars/source.opentype.json +1 -448
- data/grammars/source.opts.json +1 -108
- data/grammars/source.ox.json +1 -89
- data/grammars/source.oz.json +1 -77
- data/grammars/source.p4.json +1 -122
- data/grammars/source.paket.dependencies.json +1 -0
- data/grammars/source.paket.lock.json +1 -0
- data/grammars/source.pan.json +1 -706
- data/grammars/source.papyrus.skyrim.json +1 -1272
- data/grammars/source.parrot.pir.json +1 -145
- data/grammars/source.pascal.json +1 -143
- data/grammars/source.pawn.json +1 -1194
- data/grammars/source.pcb.board.json +1 -285
- data/grammars/source.pcb.schematic.json +1 -424
- data/grammars/source.pcb.sexp.json +1 -232
- data/grammars/source.pep8.json +1 -118
- data/grammars/source.perl.6.json +1 -309
- data/grammars/source.perl.json +1 -2519
- data/grammars/source.php.zephir.json +1 -353
- data/grammars/source.pic.json +1 -908
- data/grammars/source.pig_latin.json +1 -168
- data/grammars/source.pike.json +1 -49
- data/grammars/source.plist.json +1 -336
- data/grammars/source.po.json +1 -222
- data/grammars/source.pogoscript.json +1 -79
- data/grammars/source.pony.json +1 -245
- data/grammars/source.postcss.json +1 -370
- data/grammars/source.postscript.json +1 -477
- data/grammars/source.pov-ray sdl.json +1 -82
- data/grammars/source.powershell.json +1 -981
- data/grammars/source.prisma.json +1 -435
- data/grammars/source.processing.json +1 -872
- data/grammars/source.prolog.eclipse.json +1 -201
- data/grammars/source.prolog.json +1 -286
- data/grammars/source.protobuf.json +1 -471
- data/grammars/source.puppet.json +1 -433
- data/grammars/source.purescript.json +1 -861
- data/grammars/source.pyjade.json +1 -996
- data/grammars/source.python.django.json +1 -29
- data/grammars/source.python.json +1 -5292
- data/grammars/source.python.salt.json +1 -9
- data/grammars/source.q.json +1 -215
- data/grammars/source.q_output.json +1 -348
- data/grammars/source.qasm.json +1 -66
- data/grammars/source.ql.json +1 -1408
- data/grammars/source.qmake.json +1 -210
- data/grammars/source.qml.json +1 -174
- data/grammars/source.qsharp.json +1 -120
- data/grammars/source.quake.json +1 -44
- data/grammars/source.quoting.raku.json +1 -0
- data/grammars/source.r.json +1 -194
- data/grammars/source.racket.json +1 -98
- data/grammars/source.raku.json +1 -0
- data/grammars/source.rascal.json +1 -283
- data/grammars/source.reason.hover.type.json +1 -14
- data/grammars/source.reason.json +1 -3382
- data/grammars/source.rebol.json +1 -637
- data/grammars/source.red.json +1 -644
- data/grammars/source.reg.json +1 -159
- data/grammars/source.regexp.extended.json +1 -558
- data/grammars/source.regexp.json +1 -1434
- data/grammars/source.regexp.python.json +1 -490
- data/grammars/source.regexp.raku.json +1 -0
- data/grammars/source.regexp.spin.json +1 -179
- data/grammars/source.rego.json +1 -124
- data/grammars/source.renpy.json +1 -1948
- data/grammars/source.rescript.json +1 -0
- data/grammars/source.rexx.json +1 -52
- data/grammars/source.ring.json +1 -247
- data/grammars/source.rpm-spec.json +1 -765
- data/grammars/source.ruby.gemfile.json +1 -24
- data/grammars/source.ruby.json +1 -2605
- data/grammars/source.ruby.rspec.cucumber.steps.json +1 -261
- data/grammars/source.rust.json +1 -629
- data/grammars/source.sas.json +1 -286
- data/grammars/source.sass.json +1 -1089
- data/grammars/source.sassdoc.json +1 -346
- data/grammars/source.scad.json +1 -145
- data/grammars/source.scala.json +1 -1121
- data/grammars/source.scaml.json +1 -451
- data/grammars/source.scheme.json +1 -353
- data/grammars/source.scilab.json +1 -96
- data/grammars/source.sdbl.json +1 -90
- data/grammars/source.sed.json +1 -1520
- data/grammars/source.shaderlab.json +1 -198
- data/grammars/source.shell.json +1 -1272
- data/grammars/source.shen.json +1 -143
- data/grammars/source.sieve.json +1 -383
- data/grammars/source.slice.json +1 -2755
- data/grammars/source.smali.json +1 -1610
- data/grammars/source.smalltalk.json +1 -187
- data/grammars/source.smpl.json +1 -314
- data/grammars/source.smt.json +1 -158
- data/grammars/source.solidity.json +1 -189
- data/grammars/source.sourcepawn.json +1 -651
- data/grammars/source.sparql.json +1 -18
- data/grammars/source.spin.json +1 -916
- data/grammars/source.sqf.json +1 -111
- data/grammars/source.sql.json +1 -459
- data/grammars/source.ssh-config.json +1 -97
- data/grammars/source.stan.json +1 -388
- data/grammars/source.stata.json +1 -197
- data/grammars/source.strings.json +1 -49
- data/grammars/source.stylus.json +1 -1018
- data/grammars/source.supercollider.json +1 -93
- data/grammars/source.svelte.json +1 -827
- data/grammars/source.swift.json +1 -3134
- data/grammars/source.sy.json +1 -2954
- data/grammars/source.systemverilog.json +1 -1036
- data/grammars/source.tags.json +1 -266
- data/grammars/source.tcl.json +1 -260
- data/grammars/source.tea.json +1 -174
- data/grammars/source.terra.json +1 -138
- data/grammars/source.terraform.json +1 -694
- data/grammars/source.thrift.json +1 -698
- data/grammars/source.tl.json +1 -259
- data/grammars/source.tla.json +1 -140
- data/grammars/source.tnsaudit.json +1 -256
- data/grammars/source.toc.json +1 -52
- data/grammars/source.toml.json +1 -426
- data/grammars/source.ts.json +1 -5581
- data/grammars/source.tsql.json +1 -507
- data/grammars/source.tsx.json +1 -5834
- data/grammars/source.turing.json +1 -1553
- data/grammars/source.turtle.json +1 -489
- data/grammars/source.txl.json +1 -48
- data/grammars/source.ucd.nameslist.json +1 -444
- data/grammars/source.ucd.unidata.json +1 -570
- data/grammars/source.ucfconstraints.json +1 -67
- data/grammars/source.ur.json +1 -31
- data/grammars/source.v.json +1 -1010
- data/grammars/source.vala.json +1 -800
- data/grammars/source.varnish.vcl.json +1 -331
- data/grammars/source.vbnet.json +1 -239
- data/grammars/source.verilog.json +1 -296
- data/grammars/source.vhdl.json +1 -1374
- data/grammars/source.vim-snippet.json +1 -645
- data/grammars/source.viml.json +1 -1197
- data/grammars/source.vtt.json +1 -702
- data/grammars/source.vyper.json +1 -213
- data/grammars/source.wavefront.mtl.json +1 -1190
- data/grammars/source.wavefront.obj.json +1 -1341
- data/grammars/source.wdl.json +1 -220
- data/grammars/source.webassembly.json +1 -349
- data/grammars/source.webidl.json +1 -807
- data/grammars/source.wgetrc.json +1 -1640
- data/grammars/source.wollok.json +1 -100
- data/grammars/source.wsd.json +1 -781
- data/grammars/source.x10.json +1 -64
- data/grammars/source.x86.json +1 -299
- data/grammars/source.x86asm.json +1 -42
- data/grammars/source.xc.json +1 -371
- data/grammars/source.xlfd.json +1 -462
- data/grammars/source.xojo.json +1 -85
- data/grammars/source.xq.json +1 -230
- data/grammars/source.xtend.json +1 -724
- data/grammars/source.yacc.json +1 -626
- data/grammars/source.yaml.json +1 -443
- data/grammars/source.yaml.salt.json +1 -345
- data/grammars/source.yang.json +1 -78
- data/grammars/source.yara.json +1 -99
- data/grammars/source.yasnippet.json +1 -377
- data/grammars/source.zap.json +1 -260
- data/grammars/source.zeek.json +1 -412
- data/grammars/source.zenscript.json +1 -282
- data/grammars/source.zig.json +1 -547
- data/grammars/source.zil.json +1 -750
- data/grammars/text.bibtex.json +1 -246
- data/grammars/text.cfml.basic.json +1 -735
- data/grammars/text.conllu.json +1 -45
- data/grammars/text.dfy.dafny.json +1 -188
- data/grammars/text.elixir.json +1 -52
- data/grammars/text.eml.basic.json +1 -296
- data/grammars/text.error-list.json +1 -53
- data/grammars/text.find-refs.json +1 -926
- data/grammars/text.gherkin.feature.json +1 -127
- data/grammars/text.haml.json +1 -518
- data/grammars/text.hamlc.json +1 -219
- data/grammars/text.html.asciidoc.json +1 -478
- data/grammars/text.html.asdoc.json +1 -529
- data/grammars/text.html.asp.json +1 -53
- data/grammars/text.html.basic.json +1 -908
- data/grammars/text.html.cfm.json +1 -802
- data/grammars/text.html.creole.json +1 -317
- data/grammars/text.html.cshtml.json +1 -356
- data/grammars/text.html.django.json +1 -63
- data/grammars/text.html.ecr.json +1 -48
- data/grammars/text.html.elixir.json +1 -21
- data/grammars/text.html.erb.json +1 -150
- data/grammars/text.html.erlang.yaws.json +1 -67
- data/grammars/text.html.factor.json +1 -19
- data/grammars/text.html.ftl.json +1 -76
- data/grammars/text.html.handlebars.json +1 -845
- data/grammars/text.html.javadoc.json +1 -426
- data/grammars/text.html.js.json +1 -24
- data/grammars/text.html.jsp.json +1 -1196
- data/grammars/text.html.liquid.json +1 -25
- data/grammars/text.html.mako.json +1 -726
- data/grammars/text.html.markdown.source.gfm.apib.json +1 -1298
- data/grammars/text.html.markdown.source.gfm.mson.json +1 -1156
- data/grammars/text.html.mediawiki.elm-build-output.json +1 -97
- data/grammars/text.html.mediawiki.elm-documentation.json +1 -17
- data/grammars/text.html.mediawiki.json +1 -946
- data/grammars/text.html.php.blade.json +1 -3833
- data/grammars/text.html.php.json +1 -2507
- data/grammars/text.html.riot.json +1 -788
- data/grammars/text.html.slash.json +1 -307
- data/grammars/text.html.smarty.json +1 -232
- data/grammars/text.html.soy.json +1 -606
- data/grammars/text.html.ssp.json +1 -43
- data/grammars/text.html.tcl.json +1 -37
- data/grammars/text.html.twig.json +1 -1344
- data/grammars/text.html.vue.json +1 -963
- data/grammars/text.idl-idldoc.json +1 -10
- data/grammars/text.jade.json +1 -963
- data/grammars/text.junit-test-report.json +1 -89
- data/grammars/text.log.latex.json +1 -84
- data/grammars/text.marko.json +1 -1662
- data/grammars/text.muse.json +1 -1471
- data/grammars/text.openbsd-pkg.desc.json +1 -78
- data/grammars/text.plain.json +1 -18
- data/grammars/text.python.console.json +1 -21
- data/grammars/text.python.traceback.json +1 -43
- data/grammars/text.rdoc.json +1 -44
- data/grammars/text.restructuredtext.clean.json +1 -24
- data/grammars/text.restructuredtext.json +1 -1765
- data/grammars/text.robot.json +1 -63
- data/grammars/text.roff.json +1 -6927
- data/grammars/text.rtf.json +1 -148
- data/grammars/text.runoff.json +1 -308
- data/grammars/text.sfd.json +1 -292
- data/grammars/text.shell-session.json +1 -29
- data/grammars/text.slim.json +1 -527
- data/grammars/text.srt.json +1 -166
- data/grammars/text.tex.json +1 -264
- data/grammars/text.tex.latex.beamer.json +1 -57
- data/grammars/text.tex.latex.haskell.json +1 -1826
- data/grammars/text.tex.latex.json +1 -1003
- data/grammars/text.tex.latex.memoir.json +1 -129
- data/grammars/text.tex.latex.rd.json +1 -111
- data/grammars/text.texinfo.json +1 -1525
- data/grammars/text.vim-help.json +1 -383
- data/grammars/text.xml.ant.json +1 -195
- data/grammars/text.xml.flex-config.json +1 -2628
- data/grammars/text.xml.genshi.json +1 -28
- data/grammars/text.xml.json +1 -351
- data/grammars/text.xml.plist.json +1 -664
- data/grammars/text.xml.pom.json +1 -769
- data/grammars/text.xml.svg.json +1 -562
- data/grammars/text.xml.xsl.json +1 -88
- data/grammars/text.zone_file.json +1 -67
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generic.yml +17 -0
- data/lib/linguist/heuristics.yml +37 -17
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +41 -2
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/strategy/extension.rb +13 -5
- metadata +12 -6
- data/ext/linguist/strndup.c +0 -10
- data/grammars/source.perl6fe.json +0 -2769
- data/grammars/source.quoting.perl6fe.json +0 -2369
- data/grammars/source.regexp.perl6fe.json +0 -244
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc2e70cf75288777900688592f416514a41b09306b508036a023e90aa5e09347
|
4
|
+
data.tar.gz: 18c9fa4f90edf906e38cd256eae2c305ea5ecaf1bb02232418c16aa1bbbe3105
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
11
|
-
#define YY_FLEX_SUBMINOR_VERSION
|
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
|
-
#
|
89
|
-
|
90
|
-
#
|
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
|
98
|
-
#if defined (__STDC__)
|
300
|
+
#endif /* ! C99 */
|
99
301
|
|
100
|
-
#
|
302
|
+
#endif /* ! FLEXINT_H */
|
101
303
|
|
102
|
-
|
103
|
-
#endif /* ! __cplusplus */
|
304
|
+
/* begin standard C++ headers. */
|
104
305
|
|
105
|
-
|
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
|
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
|
115
|
-
*
|
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) ((
|
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
|
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
|
-
|
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
|
-
|
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
|
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
|
281
|
-
void
|
282
|
-
YY_BUFFER_STATE
|
283
|
-
void
|
284
|
-
void
|
285
|
-
void
|
286
|
-
void
|
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
|
-
|
295
|
-
|
296
|
-
|
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
|
-
|
299
|
-
|
300
|
-
|
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
|
-
|
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
|
-
|
510
|
+
yyensure_buffer_stack (yyscanner); \
|
308
511
|
YY_CURRENT_BUFFER_LVALUE = \
|
309
|
-
|
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
|
-
|
519
|
+
yyensure_buffer_stack (yyscanner); \
|
318
520
|
YY_CURRENT_BUFFER_LVALUE = \
|
319
|
-
|
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 (
|
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 = (
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 "
|
756
|
+
#include "ruby.h"
|
558
757
|
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
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
|
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
|
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
|
-
|
623
|
-
|
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
|
870
|
+
int yylex_init (yyscan_t* scanner);
|
646
871
|
|
647
|
-
int
|
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
|
877
|
+
int yylex_destroy ( yyscan_t yyscanner );
|
653
878
|
|
654
|
-
int
|
879
|
+
int yyget_debug ( yyscan_t yyscanner );
|
655
880
|
|
656
|
-
void
|
881
|
+
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
|
657
882
|
|
658
|
-
YY_EXTRA_TYPE
|
883
|
+
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
|
659
884
|
|
660
|
-
void
|
885
|
+
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
|
661
886
|
|
662
|
-
FILE *
|
887
|
+
FILE *yyget_in ( yyscan_t yyscanner );
|
663
888
|
|
664
|
-
void
|
889
|
+
void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
|
665
890
|
|
666
|
-
FILE *
|
891
|
+
FILE *yyget_out ( yyscan_t yyscanner );
|
667
892
|
|
668
|
-
void
|
893
|
+
void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
|
669
894
|
|
670
|
-
|
895
|
+
int yyget_leng ( yyscan_t yyscanner );
|
671
896
|
|
672
|
-
char *
|
897
|
+
char *yyget_text ( yyscan_t yyscanner );
|
673
898
|
|
674
|
-
int
|
899
|
+
int yyget_lineno ( yyscan_t yyscanner );
|
675
900
|
|
676
|
-
void
|
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
|
913
|
+
extern "C" int yywrap ( yyscan_t yyscanner );
|
685
914
|
#else
|
686
|
-
extern int
|
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 *,
|
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 (
|
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
|
-
|
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
|
1020
|
+
extern int yylex (yyscan_t yyscanner);
|
784
1021
|
|
785
|
-
#define YY_DECL int
|
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
|
-
|
811
|
-
|
812
|
-
|
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
|
-
|
1070
|
+
yyensure_buffer_stack (yyscanner);
|
839
1071
|
YY_CURRENT_BUFFER_LVALUE =
|
840
|
-
|
1072
|
+
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
|
841
1073
|
}
|
842
1074
|
|
843
|
-
|
1075
|
+
yy_load_buffer_state( yyscanner );
|
844
1076
|
}
|
845
1077
|
|
846
|
-
|
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
|
-
|
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[
|
1111
|
+
yy_c = yy_meta[yy_c];
|
874
1112
|
}
|
875
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
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
|
1139
|
+
#line 65 "tokenizer.l"
|
902
1140
|
{
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
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
|
1153
|
+
#line 76 "tokenizer.l"
|
916
1154
|
{
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
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
|
1171
|
+
#line 91 "tokenizer.l"
|
934
1172
|
{ /* nothing */ }
|
935
1173
|
YY_BREAK
|
936
1174
|
case 4:
|
937
1175
|
YY_RULE_SETUP
|
938
|
-
#line
|
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
|
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
|
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
|
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
|
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
|
1203
|
+
#line 100 "tokenizer.l"
|
966
1204
|
{ /* nothing */ }
|
967
1205
|
YY_BREAK
|
968
1206
|
case 10:
|
969
1207
|
YY_RULE_SETUP
|
970
|
-
#line
|
1208
|
+
#line 101 "tokenizer.l"
|
971
1209
|
{ BEGIN(INITIAL); }
|
972
1210
|
YY_BREAK
|
973
1211
|
case 11:
|
974
1212
|
YY_RULE_SETUP
|
975
|
-
#line
|
1213
|
+
#line 102 "tokenizer.l"
|
976
1214
|
{ BEGIN(INITIAL); }
|
977
1215
|
YY_BREAK
|
978
1216
|
case 12:
|
979
1217
|
YY_RULE_SETUP
|
980
|
-
#line
|
1218
|
+
#line 103 "tokenizer.l"
|
981
1219
|
{ BEGIN(INITIAL); }
|
982
1220
|
YY_BREAK
|
983
1221
|
case 13:
|
984
1222
|
YY_RULE_SETUP
|
985
|
-
#line
|
1223
|
+
#line 104 "tokenizer.l"
|
986
1224
|
{ BEGIN(INITIAL); }
|
987
1225
|
YY_BREAK
|
988
1226
|
case 14:
|
989
1227
|
YY_RULE_SETUP
|
990
|
-
#line
|
1228
|
+
#line 105 "tokenizer.l"
|
991
1229
|
{ BEGIN(INITIAL); }
|
992
1230
|
YY_BREAK
|
993
1231
|
case 15:
|
994
1232
|
YY_RULE_SETUP
|
995
|
-
#line
|
1233
|
+
#line 106 "tokenizer.l"
|
996
1234
|
{ BEGIN(INITIAL); }
|
997
1235
|
YY_BREAK
|
998
1236
|
case 16:
|
999
1237
|
YY_RULE_SETUP
|
1000
|
-
#line
|
1238
|
+
#line 108 "tokenizer.l"
|
1001
1239
|
{ /* nothing */ }
|
1002
1240
|
YY_BREAK
|
1003
1241
|
case 17:
|
1004
1242
|
YY_RULE_SETUP
|
1005
|
-
#line
|
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
|
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
|
1253
|
+
#line 111 "tokenizer.l"
|
1016
1254
|
{ /* nothing */ }
|
1017
1255
|
YY_BREAK
|
1018
1256
|
case 20:
|
1019
1257
|
YY_RULE_SETUP
|
1020
|
-
#line
|
1258
|
+
#line 112 "tokenizer.l"
|
1021
1259
|
{
|
1022
1260
|
if (strcmp(yytext, "<!--") == 0) {
|
1023
1261
|
BEGIN(xml_comment);
|
1024
1262
|
} else {
|
1025
|
-
|
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
|
1034
|
-
{
|
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
|
1039
|
-
{
|
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
|
1044
|
-
{
|
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
|
1049
|
-
{
|
1286
|
+
#line 124 "tokenizer.l"
|
1287
|
+
{ FEED(); return 1; }
|
1050
1288
|
YY_BREAK
|
1051
1289
|
case 25:
|
1052
1290
|
YY_RULE_SETUP
|
1053
|
-
#line
|
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
|
1297
|
+
#line 126 "tokenizer.l"
|
1060
1298
|
{ /* nothing */ }
|
1061
1299
|
YY_BREAK
|
1062
1300
|
case 27:
|
1063
1301
|
YY_RULE_SETUP
|
1064
|
-
#line
|
1065
|
-
{
|
1302
|
+
#line 127 "tokenizer.l"
|
1303
|
+
{ FEED(); return 1; }
|
1066
1304
|
YY_BREAK
|
1067
1305
|
case 28:
|
1068
1306
|
YY_RULE_SETUP
|
1069
|
-
#line
|
1307
|
+
#line 128 "tokenizer.l"
|
1070
1308
|
{
|
1071
1309
|
if (strncmp(yytext, "/*", 2) == 0) {
|
1072
|
-
if (
|
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
|
-
|
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
|
1086
|
-
{
|
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
|
1329
|
+
#line 141 "tokenizer.l"
|
1092
1330
|
{ /* nothing */ }
|
1093
1331
|
YY_BREAK
|
1094
1332
|
case 31:
|
1095
1333
|
YY_RULE_SETUP
|
1096
|
-
#line
|
1334
|
+
#line 143 "tokenizer.l"
|
1097
1335
|
YY_FATAL_ERROR( "flex scanner jammed" );
|
1098
1336
|
YY_BREAK
|
1099
|
-
#line
|
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
|
-
*
|
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 (
|
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
|
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
|
-
|
1251
|
-
|
1252
|
-
|
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
|
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
|
-
|
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 =
|
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
|
-
|
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
|
-
|
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 =
|
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
|
-
|
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 ((
|
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
|
-
|
1366
|
-
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *)
|
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
|
-
|
1385
|
-
|
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
|
-
|
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[
|
1646
|
+
yy_c = yy_meta[yy_c];
|
1404
1647
|
}
|
1405
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
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
|
-
|
1661
|
+
int yy_is_jam;
|
1419
1662
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
|
1420
|
-
|
1663
|
+
char *yy_cp = yyg->yy_c_buf_p;
|
1421
1664
|
|
1422
|
-
|
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[
|
1675
|
+
yy_c = yy_meta[yy_c];
|
1433
1676
|
}
|
1434
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
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
|
-
|
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
|
-
|
1730
|
+
yyrestart( yyin , yyscanner);
|
1483
1731
|
|
1484
1732
|
/*FALLTHROUGH*/
|
1485
1733
|
|
1486
1734
|
case EOB_ACT_END_OF_FILE:
|
1487
1735
|
{
|
1488
|
-
if (
|
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
|
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
|
-
|
1775
|
+
yyensure_buffer_stack (yyscanner);
|
1528
1776
|
YY_CURRENT_BUFFER_LVALUE =
|
1529
|
-
|
1777
|
+
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
|
1530
1778
|
}
|
1531
1779
|
|
1532
|
-
|
1533
|
-
|
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
|
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
|
-
*
|
1547
|
-
*
|
1794
|
+
* yypop_buffer_state();
|
1795
|
+
* yypush_buffer_state(new_buffer);
|
1548
1796
|
*/
|
1549
|
-
|
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
|
-
|
1810
|
+
yy_load_buffer_state( yyscanner );
|
1563
1811
|
|
1564
1812
|
/* We don't actually know whether we did this switch during
|
1565
|
-
* EOF (
|
1566
|
-
* is looked at is after
|
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
|
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
|
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)
|
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
|
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 *)
|
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
|
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
|
-
|
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
|
1860
|
+
* @param b a buffer created with yy_create_buffer()
|
1613
1861
|
* @param yyscanner The scanner object.
|
1614
1862
|
*/
|
1615
|
-
void
|
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
|
-
|
1874
|
+
yyfree( (void *) b->yy_ch_buf , yyscanner );
|
1627
1875
|
|
1628
|
-
|
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
|
1881
|
+
* such as during a yyrestart() or at EOF.
|
1634
1882
|
*/
|
1635
|
-
static void
|
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
|
-
|
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
|
1647
|
-
* called from
|
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
|
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
|
-
|
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
|
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
|
-
|
1948
|
+
yyensure_buffer_stack(yyscanner);
|
1701
1949
|
|
1702
|
-
/* This block is copied from
|
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
|
1717
|
-
|
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
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
1757
|
-
yyg->yy_buffer_stack = (struct yy_buffer_state**)
|
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
|
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
|
-
|
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**)
|
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
|
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
|
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
|
2051
|
+
return NULL;
|
1804
2052
|
|
1805
|
-
b = (YY_BUFFER_STATE)
|
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
|
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 =
|
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
|
-
|
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
|
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
|
-
*
|
2078
|
+
* yy_scan_bytes() instead.
|
1831
2079
|
*/
|
1832
|
-
YY_BUFFER_STATE
|
2080
|
+
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
|
1833
2081
|
{
|
1834
2082
|
|
1835
|
-
return
|
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
|
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
|
1841
|
-
* @param
|
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
|
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
|
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 *)
|
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
|
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 =
|
2111
|
+
b = yy_scan_buffer( buf, n , yyscanner);
|
1863
2112
|
if ( ! b )
|
1864
|
-
YY_FATAL_ERROR( "bad buffer in
|
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 (
|
2127
|
+
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
|
1879
2128
|
{
|
1880
|
-
|
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
|
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
|
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
|
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 *
|
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 *
|
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
|
-
|
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 *
|
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
|
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
|
2237
|
+
* @param _line_number line number
|
1987
2238
|
* @param yyscanner The scanner object.
|
1988
2239
|
*/
|
1989
|
-
void
|
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
|
-
|
2246
|
+
YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
|
1996
2247
|
|
1997
|
-
yylineno =
|
2248
|
+
yylineno = _line_number;
|
1998
2249
|
}
|
1999
2250
|
|
2000
2251
|
/** Set the current column.
|
2001
|
-
* @param
|
2252
|
+
* @param _column_no column number
|
2002
2253
|
* @param yyscanner The scanner object.
|
2003
2254
|
*/
|
2004
|
-
void
|
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
|
-
|
2261
|
+
YY_FATAL_ERROR( "yyset_column called with no buffer" );
|
2011
2262
|
|
2012
|
-
yycolumn =
|
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
|
2268
|
+
* @param _in_str A readable stream.
|
2018
2269
|
* @param yyscanner The scanner object.
|
2019
|
-
* @see
|
2270
|
+
* @see yy_switch_to_buffer
|
2020
2271
|
*/
|
2021
|
-
void
|
2272
|
+
void yyset_in (FILE * _in_str , yyscan_t yyscanner)
|
2022
2273
|
{
|
2023
2274
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
2024
|
-
yyin =
|
2275
|
+
yyin = _in_str ;
|
2025
2276
|
}
|
2026
2277
|
|
2027
|
-
void
|
2278
|
+
void yyset_out (FILE * _out_str , yyscan_t yyscanner)
|
2028
2279
|
{
|
2029
2280
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
2030
|
-
yyout =
|
2281
|
+
yyout = _out_str ;
|
2031
2282
|
}
|
2032
2283
|
|
2033
|
-
int
|
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
|
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 =
|
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
|
-
/*
|
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)
|
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
|
-
/*
|
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
|
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
|
-
|
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)
|
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
|
-
|
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
|
2362
|
+
* This function is called from yylex_destroy(), so don't allocate here.
|
2116
2363
|
*/
|
2117
2364
|
|
2118
|
-
yyg->yy_buffer_stack =
|
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 =
|
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 =
|
2135
|
-
yyout =
|
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
|
-
*
|
2386
|
+
* yylex_init()
|
2140
2387
|
*/
|
2141
2388
|
return 0;
|
2142
2389
|
}
|
2143
2390
|
|
2144
|
-
/*
|
2145
|
-
int
|
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
|
-
|
2398
|
+
yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
|
2152
2399
|
YY_CURRENT_BUFFER_LVALUE = NULL;
|
2153
|
-
|
2400
|
+
yypop_buffer_state(yyscanner);
|
2154
2401
|
}
|
2155
2402
|
|
2156
2403
|
/* Destroy the stack itself. */
|
2157
|
-
|
2404
|
+
yyfree(yyg->yy_buffer_stack , yyscanner);
|
2158
2405
|
yyg->yy_buffer_stack = NULL;
|
2159
2406
|
|
2160
2407
|
/* Destroy the start condition stack. */
|
2161
|
-
|
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
|
-
*
|
2412
|
+
* yylex() is called, initialization will occur. */
|
2166
2413
|
yy_init_globals( yyscanner);
|
2167
2414
|
|
2168
2415
|
/* Destroy the main struct (reentrant only). */
|
2169
|
-
|
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,
|
2426
|
+
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
|
2180
2427
|
{
|
2181
|
-
|
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 (
|
2438
|
+
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
|
2189
2439
|
{
|
2190
|
-
|
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 *
|
2448
|
+
void *yyalloc (yy_size_t size , yyscan_t yyscanner)
|
2199
2449
|
{
|
2200
|
-
|
2450
|
+
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
2451
|
+
(void)yyg;
|
2452
|
+
return malloc(size);
|
2201
2453
|
}
|
2202
2454
|
|
2203
|
-
void *
|
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
|
2467
|
+
return realloc(ptr, size);
|
2213
2468
|
}
|
2214
2469
|
|
2215
|
-
void
|
2470
|
+
void yyfree (void * ptr , yyscan_t yyscanner)
|
2216
2471
|
{
|
2217
|
-
|
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
|
2223
|
-
|
2479
|
+
#line 143 "tokenizer.l"
|
2224
2480
|
|
2225
2481
|
|
2226
2482
|
|