github-linguist 7.11.1 → 7.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|