github-linguist 7.11.0 → 7.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/linguist/lex.linguist_yy.c +1123 -623
- data/ext/linguist/lex.linguist_yy.h +433 -66
- data/ext/linguist/linguist.c +5 -35
- data/ext/linguist/linguist.h +0 -18
- data/ext/linguist/tokenizer.l +83 -65
- 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.lean.codeblock.json +1 -0
- 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.abapcds.json +1 -0
- 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.boogie.json +1 -0
- 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 -245
- 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.json +1 -1897
- 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.nunjucks.json +1 -0
- 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.record-jar.json +1 -0
- 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.posix.json +1 -0
- 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.browserslist.json +1 -0
- data/grammars/text.cfml.basic.json +1 -735
- data/grammars/text.checksums.json +1 -0
- 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.nunjucks.json +1 -0
- 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/classifier.rb +28 -17
- data/lib/linguist/generated.rb +23 -3
- data/lib/linguist/generic.yml +18 -0
- data/lib/linguist/heuristics.yml +57 -22
- data/lib/linguist/language.rb +4 -2
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +142 -25
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/samples.rb +4 -4
- data/lib/linguist/{md5.rb → sha256.rb} +3 -3
- data/lib/linguist/strategy/extension.rb +13 -5
- data/lib/linguist/vendor.yml +1 -1
- metadata +23 -10
- data/ext/linguist/strndup.c +0 -10
- data/grammars/source.js.css.json +0 -328
- data/grammars/source.js.jsx.json +0 -2488
- 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: c89155dae3df838c6e0a40aa959d26ec8b4b0fcbd72c4d65ee342939bedccc16
|
|
4
|
+
data.tar.gz: 5f5c64b53db69e93454afb651c23b317458cb54e328fdcc12d20250475523e90
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fc2cf3e88c30e266619b12ff0c06c03042b471df4e6cefc978c3f346ad9bccfa2de5732917cffd167c1ce7d788ed1fa2421710996ee95bea4e679dcdf0f11968
|
|
7
|
+
data.tar.gz: be903fbbc5426eadb866949db44e7c5764499c51b27369a0495e8a787384b3cccd7577c2cd354a816c7fca2e400a32dea9551beec9fc2c958e8d18ef388373fb
|
|
@@ -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,83 +477,77 @@ struct yy_buffer_state
|
|
|
271
477
|
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
|
|
272
478
|
? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
|
|
273
479
|
: NULL)
|
|
274
|
-
|
|
275
480
|
/* Same as previous macro, but useful when we know that the buffer stack is not
|
|
276
481
|
* NULL or when we need an lvalue. For internal use only.
|
|
277
482
|
*/
|
|
278
483
|
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
|
|
279
484
|
|
|
280
|
-
void
|
|
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 );
|
|
485
|
+
void yyrestart ( FILE *input_file , yyscan_t yyscanner );
|
|
486
|
+
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
|
|
487
|
+
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
|
|
488
|
+
void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
|
|
489
|
+
void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
|
|
490
|
+
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
|
|
491
|
+
void yypop_buffer_state ( yyscan_t yyscanner );
|
|
291
492
|
|
|
292
|
-
|
|
493
|
+
static void yyensure_buffer_stack ( yyscan_t yyscanner );
|
|
494
|
+
static void yy_load_buffer_state ( yyscan_t yyscanner );
|
|
495
|
+
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
|
|
496
|
+
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
|
|
293
497
|
|
|
294
|
-
YY_BUFFER_STATE
|
|
295
|
-
YY_BUFFER_STATE
|
|
296
|
-
YY_BUFFER_STATE
|
|
498
|
+
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
|
|
499
|
+
YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
|
|
500
|
+
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
|
|
297
501
|
|
|
298
|
-
void *
|
|
299
|
-
void *
|
|
300
|
-
void
|
|
301
|
-
|
|
302
|
-
#define yy_new_buffer linguist_yy_create_buffer
|
|
502
|
+
void *yyalloc ( yy_size_t , yyscan_t yyscanner );
|
|
503
|
+
void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
|
|
504
|
+
void yyfree ( void * , yyscan_t yyscanner );
|
|
303
505
|
|
|
506
|
+
#define yy_new_buffer yy_create_buffer
|
|
304
507
|
#define yy_set_interactive(is_interactive) \
|
|
305
508
|
{ \
|
|
306
509
|
if ( ! YY_CURRENT_BUFFER ){ \
|
|
307
|
-
|
|
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
|
-
|
|
544
|
+
yyg->yytext_ptr -= yyg->yy_more_len; \
|
|
545
|
+
yyleng = (int) (yy_cp - yyg->yytext_ptr); \
|
|
345
546
|
yyg->yy_hold_char = *yy_cp; \
|
|
346
547
|
*yy_cp = '\0'; \
|
|
347
548
|
yyg->yy_c_buf_p = yy_cp;
|
|
348
|
-
|
|
349
|
-
#define
|
|
350
|
-
#define YY_END_OF_BUFFER 32
|
|
549
|
+
#define YY_NUM_RULES 45
|
|
550
|
+
#define YY_END_OF_BUFFER 46
|
|
351
551
|
/* This struct is not used in this scanner,
|
|
352
552
|
but its presence is necessary. */
|
|
353
553
|
struct yy_trans_info
|
|
@@ -355,39 +555,82 @@ struct yy_trans_info
|
|
|
355
555
|
flex_int32_t yy_verify;
|
|
356
556
|
flex_int32_t yy_nxt;
|
|
357
557
|
};
|
|
358
|
-
static
|
|
558
|
+
static const flex_int16_t yy_acclist[262] =
|
|
559
|
+
{ 0,
|
|
560
|
+
46, 44, 45, 42, 44, 45,16422, 31, 44, 45,
|
|
561
|
+
42, 44, 45,16422, 32, 44, 45, 36, 44, 45,
|
|
562
|
+
36, 44, 45, 43, 44, 45, 33, 34, 44, 45,
|
|
563
|
+
33, 34, 44, 45, 43, 44, 45, 34, 44, 45,
|
|
564
|
+
36, 44, 45, 34, 42, 44, 45,16422, 36, 44,
|
|
565
|
+
45, 44, 45, 31, 44, 45, 42, 44, 45,16422,
|
|
566
|
+
42, 44, 45,16422, 32, 44, 45, 42, 44, 45,
|
|
567
|
+
16422, 42, 44, 45,16422, 43, 44, 45, 42, 44,
|
|
568
|
+
45,16422, 22, 45, 22, 45, 22, 45, 22, 45,
|
|
569
|
+
22, 45, 22, 45, 22, 45, 22, 45, 45, 42,
|
|
570
|
+
|
|
571
|
+
45,16422, 43, 45, 37, 42,16422, 30, 34, 37,
|
|
572
|
+
34, 42,16422, 30, 35, 18, 39, 15, 33, 33,
|
|
573
|
+
34, 34, 34, 33, 34, 33, 34, 34, 17, 8,
|
|
574
|
+
8, 3, 37, 3, 37, 42,16422, 42,16422, 7,
|
|
575
|
+
37, 7, 37, 42,16422, 42,16422, 37, 42,16422,
|
|
576
|
+
34, 37, 5, 9, 37, 9, 37, 42,16422, 23,
|
|
577
|
+
25, 26, 8230, 19, 20, 14, 13, 41, 33, 33,
|
|
578
|
+
33, 33, 34, 33, 34, 3, 3, 7, 7, 5,
|
|
579
|
+
9, 9, 8, 3, 37, 2, 37, 2, 37, 2,
|
|
580
|
+
42,16422, 2, 37, 7, 11, 6, 37, 6, 37,
|
|
581
|
+
|
|
582
|
+
10, 37, 34, 5, 39, 5, 39, 5, 5, 5,
|
|
583
|
+
41, 5, 5, 9, 24, 27, 28, 29, 12, 33,
|
|
584
|
+
33, 33, 34, 33, 33, 34, 33, 34, 33, 34,
|
|
585
|
+
16, 6, 6, 5, 2, 2, 2, 2, 11, 11,
|
|
586
|
+
6, 10, 10, 10, 21, 4, 5, 4, 5, 5,
|
|
587
|
+
40, 33, 33, 33, 2, 4, 5, 5, 5, 40,
|
|
588
|
+
1
|
|
589
|
+
} ;
|
|
590
|
+
|
|
591
|
+
static const flex_int16_t yy_accept[211] =
|
|
359
592
|
{ 0,
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
593
|
+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
594
|
+
1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
|
|
595
|
+
4, 8, 11, 15, 18, 21, 24, 27, 31, 35,
|
|
596
|
+
38, 41, 44, 49, 52, 54, 57, 61, 65, 68,
|
|
597
|
+
72, 76, 79, 83, 85, 87, 89, 91, 93, 95,
|
|
598
|
+
97, 99, 100, 103, 105, 106, 108, 108, 108, 109,
|
|
599
|
+
111, 114, 115, 116, 117, 118, 119, 119, 119, 120,
|
|
600
|
+
122, 123, 124, 126, 128, 129, 129, 130, 130, 130,
|
|
601
|
+
130, 130, 130, 130, 130, 131, 132, 134, 136, 138,
|
|
602
|
+
140, 142, 144, 146, 146, 146, 148, 149, 151, 153,
|
|
603
|
+
|
|
604
|
+
154, 156, 158, 160, 161, 161, 162, 163, 163, 163,
|
|
605
|
+
163, 164, 164, 165, 166, 167, 168, 169, 169, 169,
|
|
606
|
+
170, 171, 172, 174, 176, 176, 177, 178, 179, 180,
|
|
607
|
+
180, 181, 182, 183, 184, 185, 186, 187, 188, 190,
|
|
608
|
+
193, 195, 196, 197, 199, 201, 201, 201, 203, 204,
|
|
609
|
+
206, 208, 209, 210, 212, 213, 214, 215, 216, 217,
|
|
610
|
+
218, 219, 219, 220, 220, 221, 222, 224, 225, 227,
|
|
611
|
+
229, 231, 232, 233, 234, 235, 235, 236, 236, 237,
|
|
612
|
+
238, 238, 239, 240, 241, 242, 243, 244, 245, 246,
|
|
613
|
+
248, 250, 251, 252, 253, 254, 255, 255, 256, 258,
|
|
614
|
+
|
|
615
|
+
259, 259, 259, 261, 261, 261, 261, 262, 262, 262
|
|
373
616
|
} ;
|
|
374
617
|
|
|
375
|
-
static
|
|
618
|
+
static const YY_CHAR yy_ec[256] =
|
|
376
619
|
{ 0,
|
|
377
620
|
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
|
|
378
621
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
379
622
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
380
|
-
1, 4, 5, 6, 7,
|
|
381
|
-
12, 13, 14,
|
|
382
|
-
19, 19, 19, 19, 19, 19, 19,
|
|
383
|
-
22, 23, 24, 25,
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
32,
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
623
|
+
1, 4, 5, 6, 7, 8, 9, 8, 10, 11,
|
|
624
|
+
12, 13, 14, 8, 15, 16, 17, 18, 19, 19,
|
|
625
|
+
19, 19, 19, 19, 19, 19, 19, 8, 20, 21,
|
|
626
|
+
22, 23, 8, 24, 25, 25, 25, 25, 26, 27,
|
|
627
|
+
28, 28, 28, 28, 28, 29, 28, 28, 28, 28,
|
|
628
|
+
28, 28, 28, 28, 30, 28, 28, 28, 28, 28,
|
|
629
|
+
31, 32, 33, 8, 34, 8, 25, 25, 25, 25,
|
|
630
|
+
|
|
631
|
+
35, 27, 36, 28, 37, 28, 28, 29, 28, 38,
|
|
632
|
+
28, 28, 28, 28, 28, 28, 30, 39, 28, 40,
|
|
633
|
+
28, 28, 41, 8, 42, 8, 1, 1, 1, 1,
|
|
391
634
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
392
635
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
393
636
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
@@ -404,162 +647,284 @@ static yyconst flex_int32_t yy_ec[256] =
|
|
|
404
647
|
1, 1, 1, 1, 1
|
|
405
648
|
} ;
|
|
406
649
|
|
|
407
|
-
static
|
|
650
|
+
static const YY_CHAR yy_meta[43] =
|
|
408
651
|
{ 0,
|
|
409
|
-
1, 2, 3, 2, 4,
|
|
410
|
-
1, 1,
|
|
411
|
-
4,
|
|
412
|
-
|
|
652
|
+
1, 2, 3, 2, 4, 1, 4, 4, 4, 1,
|
|
653
|
+
1, 1, 1, 4, 4, 4, 5, 6, 6, 4,
|
|
654
|
+
1, 4, 4, 4, 6, 6, 6, 6, 6, 6,
|
|
655
|
+
1, 4, 1, 7, 6, 6, 6, 6, 6, 6,
|
|
656
|
+
1, 1
|
|
413
657
|
} ;
|
|
414
658
|
|
|
415
|
-
static
|
|
659
|
+
static const flex_int16_t yy_base[228] =
|
|
416
660
|
{ 0,
|
|
417
|
-
0,
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
661
|
+
0, 41, 521, 520, 517, 516, 515, 514, 514, 505,
|
|
662
|
+
511, 510, 499, 498, 490, 489, 57, 87, 504, 680,
|
|
663
|
+
117, 497, 151, 492, 40, 680, 42, 178, 461, 206,
|
|
664
|
+
0, 467, 0, 34, 226, 79, 83, 244, 65, 114,
|
|
665
|
+
110, 208, 235, 680, 482, 483, 455, 484, 489, 484,
|
|
666
|
+
477, 680, 141, 256, 680, 233, 479, 486, 484, 0,
|
|
667
|
+
0, 478, 680, 680, 680, 41, 258, 267, 273, 445,
|
|
668
|
+
0, 84, 86, 455, 279, 468, 680, 0, 102, 195,
|
|
669
|
+
278, 467, 462, 206, 680, 0, 680, 0, 313, 309,
|
|
670
|
+
680, 0, 0, 218, 469, 292, 305, 316, 438, 353,
|
|
671
|
+
|
|
672
|
+
680, 0, 324, 680, 448, 680, 680, 462, 455, 461,
|
|
673
|
+
680, 448, 680, 680, 680, 445, 680, 446, 113, 119,
|
|
674
|
+
427, 378, 417, 392, 397, 680, 0, 680, 0, 132,
|
|
675
|
+
251, 680, 0, 0, 0, 396, 431, 392, 227, 399,
|
|
676
|
+
386, 0, 403, 680, 0, 421, 396, 333, 326, 318,
|
|
677
|
+
680, 197, 307, 280, 269, 55, 0, 680, 680, 680,
|
|
678
|
+
680, 255, 680, 219, 202, 410, 0, 451, 0, 271,
|
|
679
|
+
0, 680, 680, 0, 680, 322, 211, 178, 310, 403,
|
|
680
|
+
228, 391, 140, 680, 0, 117, 113, 680, 680, 680,
|
|
681
|
+
90, 331, 680, 680, 279, 0, 273, 438, 81, 440,
|
|
682
|
+
|
|
683
|
+
419, 485, 41, 443, 450, 418, 524, 455, 680, 564,
|
|
684
|
+
571, 578, 585, 586, 593, 600, 607, 614, 621, 627,
|
|
685
|
+
630, 637, 644, 651, 658, 665, 672
|
|
431
686
|
} ;
|
|
432
687
|
|
|
433
|
-
static
|
|
688
|
+
static const flex_int16_t yy_def[228] =
|
|
434
689
|
{ 0,
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
690
|
+
209, 1, 210, 210, 210, 210, 210, 210, 210, 210,
|
|
691
|
+
210, 210, 210, 210, 210, 210, 211, 211, 209, 209,
|
|
692
|
+
212, 209, 209, 209, 209, 209, 213, 209, 28, 213,
|
|
693
|
+
214, 209, 23, 209, 209, 209, 23, 212, 209, 38,
|
|
694
|
+
23, 213, 38, 209, 209, 209, 209, 209, 209, 209,
|
|
695
|
+
209, 209, 38, 213, 209, 38, 209, 209, 209, 214,
|
|
696
|
+
23, 209, 209, 209, 209, 209, 213, 213, 209, 28,
|
|
697
|
+
214, 214, 214, 214, 214, 209, 209, 35, 209, 209,
|
|
698
|
+
209, 209, 209, 209, 209, 215, 209, 216, 23, 38,
|
|
699
|
+
209, 217, 38, 209, 209, 38, 209, 38, 214, 209,
|
|
700
|
+
|
|
701
|
+
209, 218, 38, 209, 209, 209, 209, 209, 209, 209,
|
|
702
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
703
|
+
209, 209, 214, 28, 209, 209, 216, 209, 217, 209,
|
|
704
|
+
219, 209, 218, 215, 216, 220, 220, 221, 137, 89,
|
|
705
|
+
137, 217, 222, 209, 223, 209, 209, 224, 214, 219,
|
|
706
|
+
209, 219, 219, 219, 100, 100, 218, 209, 209, 209,
|
|
707
|
+
209, 209, 209, 209, 209, 209, 214, 209, 124, 124,
|
|
708
|
+
124, 209, 209, 223, 209, 137, 137, 221, 137, 137,
|
|
709
|
+
221, 137, 222, 209, 223, 224, 224, 209, 209, 209,
|
|
710
|
+
225, 219, 209, 209, 168, 168, 221, 137, 225, 219,
|
|
711
|
+
|
|
712
|
+
221, 226, 219, 221, 226, 227, 226, 227, 0, 209,
|
|
713
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
714
|
+
209, 209, 209, 209, 209, 209, 209
|
|
449
715
|
} ;
|
|
450
716
|
|
|
451
|
-
static
|
|
717
|
+
static const flex_int16_t yy_nxt[723] =
|
|
452
718
|
{ 0,
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
30,
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
719
|
+
20, 20, 20, 20, 21, 22, 23, 21, 21, 24,
|
|
720
|
+
25, 26, 21, 21, 21, 23, 27, 28, 29, 21,
|
|
721
|
+
30, 21, 21, 23, 31, 31, 31, 31, 31, 31,
|
|
722
|
+
32, 21, 26, 33, 31, 31, 31, 31, 31, 31,
|
|
723
|
+
34, 26, 35, 175, 35, 115, 36, 37, 77, 38,
|
|
724
|
+
39, 63, 64, 116, 66, 40, 41, 42, 67, 192,
|
|
725
|
+
43, 53, 68, 53, 53, 53, 94, 153, 94, 53,
|
|
726
|
+
53, 53, 53, 54, 62, 63, 53, 54, 53, 53,
|
|
727
|
+
53, 85, 86, 175, 59, 87, 88, 89, 53, 90,
|
|
728
|
+
53, 53, 175, 53, 53, 53, 95, 122, 122, 53,
|
|
729
|
+
|
|
730
|
+
53, 53, 53, 54, 85, 86, 53, 54, 53, 53,
|
|
731
|
+
53, 97, 73, 97, 73, 209, 55, 55, 53, 188,
|
|
732
|
+
53, 56, 56, 56, 56, 56, 122, 122, 96, 56,
|
|
733
|
+
56, 56, 56, 57, 173, 174, 56, 58, 56, 56,
|
|
734
|
+
56, 98, 209, 55, 55, 120, 99, 120, 56, 56,
|
|
735
|
+
56, 55, 55, 55, 55, 56, 55, 56, 56, 56,
|
|
736
|
+
55, 55, 55, 56, 56, 56, 56, 57, 60, 60,
|
|
737
|
+
56, 58, 56, 56, 56, 60, 60, 60, 60, 60,
|
|
738
|
+
60, 55, 56, 55, 61, 60, 60, 60, 60, 60,
|
|
739
|
+
60, 55, 55, 69, 181, 70, 70, 126, 127, 190,
|
|
740
|
+
|
|
741
|
+
191, 80, 71, 72, 73, 71, 73, 74, 132, 133,
|
|
742
|
+
76, 71, 72, 71, 71, 71, 71, 75, 209, 94,
|
|
743
|
+
66, 94, 67, 209, 100, 84, 68, 78, 68, 78,
|
|
744
|
+
194, 79, 80, 193, 81, 55, 55, 101, 102, 209,
|
|
745
|
+
82, 56, 83, 56, 181, 84, 91, 92, 56, 95,
|
|
746
|
+
56, 56, 93, 175, 103, 152, 56, 56, 56, 56,
|
|
747
|
+
57, 179, 197, 56, 58, 56, 56, 56, 209, 111,
|
|
748
|
+
117, 118, 67, 153, 67, 56, 68, 56, 68, 209,
|
|
749
|
+
128, 129, 175, 67, 122, 122, 81, 68, 69, 181,
|
|
750
|
+
69, 69, 122, 122, 144, 145, 124, 124, 119, 120,
|
|
751
|
+
|
|
752
|
+
56, 120, 121, 124, 124, 124, 146, 119, 146, 175,
|
|
753
|
+
201, 87, 88, 124, 136, 90, 136, 56, 55, 55,
|
|
754
|
+
175, 148, 209, 176, 56, 176, 101, 102, 189, 137,
|
|
755
|
+
138, 138, 56, 175, 209, 188, 147, 139, 139, 139,
|
|
756
|
+
139, 139, 139, 103, 179, 200, 140, 141, 139, 139,
|
|
757
|
+
139, 139, 139, 150, 150, 151, 150, 152, 150, 153,
|
|
758
|
+
153, 153, 150, 150, 150, 154, 153, 153, 153, 155,
|
|
759
|
+
150, 150, 153, 156, 153, 153, 153, 150, 150, 150,
|
|
760
|
+
150, 150, 150, 150, 153, 150, 153, 150, 150, 150,
|
|
761
|
+
150, 150, 150, 150, 150, 166, 166, 176, 209, 176,
|
|
762
|
+
|
|
763
|
+
55, 186, 55, 209, 120, 184, 120, 168, 181, 169,
|
|
764
|
+
169, 172, 177, 178, 178, 209, 169, 170, 171, 202,
|
|
765
|
+
179, 202, 146, 182, 146, 179, 170, 166, 166, 198,
|
|
766
|
+
180, 71, 209, 139, 209, 181, 120, 179, 120, 202,
|
|
767
|
+
182, 202, 175, 111, 202, 167, 202, 177, 178, 178,
|
|
768
|
+
209, 209, 147, 209, 203, 165, 202, 204, 202, 181,
|
|
769
|
+
164, 163, 162, 161, 160, 180, 168, 159, 168, 168,
|
|
770
|
+
158, 206, 179, 149, 143, 168, 195, 196, 131, 120,
|
|
771
|
+
121, 130, 125, 123, 71, 195, 202, 114, 202, 113,
|
|
772
|
+
112, 111, 110, 109, 108, 107, 106, 105, 104, 63,
|
|
773
|
+
|
|
774
|
+
71, 62, 59, 209, 51, 51, 206, 50, 50, 207,
|
|
775
|
+
207, 207, 207, 207, 207, 49, 49, 48, 207, 207,
|
|
776
|
+
207, 207, 207, 207, 207, 209, 48, 209, 47, 47,
|
|
777
|
+
46, 46, 45, 45, 209, 209, 209, 209, 209, 209,
|
|
778
|
+
209, 209, 209, 209, 209, 206, 209, 209, 207, 207,
|
|
779
|
+
207, 207, 207, 207, 209, 209, 209, 207, 207, 207,
|
|
780
|
+
207, 207, 207, 207, 44, 44, 44, 44, 44, 44,
|
|
781
|
+
44, 52, 52, 52, 52, 52, 52, 52, 55, 55,
|
|
782
|
+
55, 55, 55, 55, 55, 65, 65, 65, 209, 65,
|
|
783
|
+
65, 71, 71, 134, 134, 209, 134, 134, 134, 134,
|
|
784
|
+
|
|
785
|
+
135, 135, 209, 135, 135, 135, 135, 142, 142, 209,
|
|
786
|
+
142, 142, 142, 142, 157, 157, 209, 157, 157, 157,
|
|
787
|
+
157, 153, 153, 153, 153, 153, 153, 153, 179, 209,
|
|
788
|
+
209, 179, 179, 179, 178, 178, 178, 183, 183, 183,
|
|
789
|
+
183, 183, 183, 183, 185, 185, 209, 185, 185, 185,
|
|
790
|
+
185, 187, 187, 187, 187, 187, 187, 187, 199, 199,
|
|
791
|
+
199, 199, 199, 199, 199, 205, 205, 205, 205, 205,
|
|
792
|
+
205, 205, 208, 208, 208, 208, 208, 208, 208, 19,
|
|
793
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
794
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
795
|
+
|
|
796
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
797
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
798
|
+
209, 209
|
|
497
799
|
} ;
|
|
498
800
|
|
|
499
|
-
static
|
|
801
|
+
static const flex_int16_t yy_chk[723] =
|
|
500
802
|
{ 0,
|
|
501
803
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
502
804
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
503
805
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
504
806
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
807
|
+
1, 1, 2, 203, 2, 66, 2, 2, 34, 2,
|
|
808
|
+
2, 25, 25, 66, 27, 2, 2, 2, 27, 156,
|
|
809
|
+
2, 17, 27, 17, 17, 17, 39, 156, 39, 17,
|
|
810
|
+
17, 17, 17, 17, 39, 34, 17, 17, 17, 17,
|
|
811
|
+
17, 36, 36, 199, 36, 37, 37, 37, 17, 37,
|
|
812
|
+
17, 18, 191, 18, 18, 18, 39, 72, 72, 18,
|
|
813
|
+
|
|
814
|
+
18, 18, 18, 18, 79, 79, 18, 18, 18, 18,
|
|
815
|
+
18, 41, 73, 41, 73, 187, 40, 40, 18, 186,
|
|
816
|
+
18, 21, 40, 21, 21, 21, 119, 119, 40, 21,
|
|
817
|
+
21, 21, 21, 21, 130, 130, 21, 21, 21, 21,
|
|
818
|
+
21, 41, 183, 53, 53, 120, 41, 120, 21, 53,
|
|
819
|
+
21, 23, 23, 23, 23, 23, 23, 23, 23, 23,
|
|
820
|
+
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
|
|
821
|
+
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
|
|
822
|
+
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
|
|
823
|
+
23, 23, 23, 28, 178, 28, 28, 80, 80, 152,
|
|
824
|
+
|
|
825
|
+
152, 80, 28, 28, 28, 28, 28, 28, 84, 84,
|
|
826
|
+
30, 28, 28, 28, 28, 28, 28, 28, 30, 94,
|
|
827
|
+
42, 94, 30, 177, 42, 84, 30, 35, 42, 35,
|
|
828
|
+
165, 35, 35, 164, 35, 56, 56, 43, 43, 139,
|
|
829
|
+
35, 56, 35, 43, 181, 35, 38, 38, 38, 94,
|
|
830
|
+
38, 38, 38, 131, 43, 131, 38, 38, 38, 38,
|
|
831
|
+
38, 139, 181, 38, 38, 38, 38, 38, 54, 162,
|
|
832
|
+
67, 68, 54, 155, 67, 38, 54, 38, 67, 68,
|
|
833
|
+
81, 81, 154, 68, 170, 170, 81, 68, 69, 197,
|
|
834
|
+
69, 69, 195, 195, 96, 96, 75, 75, 69, 69,
|
|
835
|
+
|
|
836
|
+
96, 69, 69, 75, 75, 75, 97, 69, 97, 153,
|
|
837
|
+
197, 90, 90, 75, 89, 90, 89, 90, 98, 98,
|
|
838
|
+
150, 98, 179, 176, 98, 176, 103, 103, 149, 89,
|
|
839
|
+
89, 89, 103, 192, 176, 148, 97, 89, 89, 89,
|
|
840
|
+
89, 89, 89, 103, 179, 192, 89, 89, 89, 89,
|
|
841
|
+
89, 89, 89, 100, 100, 100, 100, 100, 100, 100,
|
|
842
|
+
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
|
|
843
|
+
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
|
|
844
|
+
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
|
|
845
|
+
100, 100, 100, 100, 100, 122, 122, 136, 141, 136,
|
|
846
|
+
|
|
847
|
+
140, 147, 140, 182, 122, 143, 122, 124, 138, 124,
|
|
848
|
+
124, 125, 136, 136, 136, 180, 124, 124, 124, 206,
|
|
849
|
+
141, 206, 146, 141, 146, 182, 124, 166, 166, 182,
|
|
850
|
+
136, 124, 137, 140, 137, 201, 166, 180, 166, 198,
|
|
851
|
+
180, 198, 200, 137, 204, 123, 204, 137, 137, 137,
|
|
852
|
+
198, 205, 146, 205, 200, 121, 208, 201, 208, 204,
|
|
853
|
+
118, 116, 112, 110, 109, 137, 168, 108, 168, 168,
|
|
854
|
+
105, 205, 198, 99, 95, 168, 168, 168, 83, 168,
|
|
855
|
+
168, 82, 76, 74, 70, 168, 202, 62, 202, 59,
|
|
856
|
+
58, 57, 51, 50, 49, 48, 47, 46, 45, 32,
|
|
857
|
+
|
|
858
|
+
29, 24, 22, 19, 16, 15, 202, 14, 13, 202,
|
|
859
|
+
202, 202, 202, 202, 202, 12, 11, 10, 202, 202,
|
|
860
|
+
202, 202, 202, 202, 202, 207, 9, 207, 8, 7,
|
|
861
|
+
6, 5, 4, 3, 0, 0, 0, 0, 0, 0,
|
|
862
|
+
0, 0, 0, 0, 0, 207, 0, 0, 207, 207,
|
|
863
|
+
207, 207, 207, 207, 0, 0, 0, 207, 207, 207,
|
|
864
|
+
207, 207, 207, 207, 210, 210, 210, 210, 210, 210,
|
|
865
|
+
210, 211, 211, 211, 211, 211, 211, 211, 212, 212,
|
|
866
|
+
212, 212, 212, 212, 212, 213, 213, 213, 0, 213,
|
|
867
|
+
213, 214, 214, 215, 215, 0, 215, 215, 215, 215,
|
|
868
|
+
|
|
869
|
+
216, 216, 0, 216, 216, 216, 216, 217, 217, 0,
|
|
870
|
+
217, 217, 217, 217, 218, 218, 0, 218, 218, 218,
|
|
871
|
+
218, 219, 219, 219, 219, 219, 219, 219, 220, 0,
|
|
872
|
+
0, 220, 220, 220, 221, 221, 221, 222, 222, 222,
|
|
873
|
+
222, 222, 222, 222, 223, 223, 0, 223, 223, 223,
|
|
874
|
+
223, 224, 224, 224, 224, 224, 224, 224, 225, 225,
|
|
875
|
+
225, 225, 225, 225, 225, 226, 226, 226, 226, 226,
|
|
876
|
+
226, 226, 227, 227, 227, 227, 227, 227, 227, 209,
|
|
877
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
878
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
879
|
+
|
|
880
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
881
|
+
209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
|
|
882
|
+
209, 209
|
|
545
883
|
} ;
|
|
546
884
|
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
885
|
+
#define YY_TRAILING_MASK 0x2000
|
|
886
|
+
#define YY_TRAILING_HEAD_MASK 0x4000
|
|
887
|
+
#define REJECT \
|
|
888
|
+
{ \
|
|
889
|
+
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ \
|
|
890
|
+
yy_cp = yyg->yy_full_match; /* restore poss. backed-over text */ \
|
|
891
|
+
yyg->yy_lp = yyg->yy_full_lp; /* restore orig. accepting pos. */ \
|
|
892
|
+
yyg->yy_state_ptr = yyg->yy_full_state; /* restore orig. state */ \
|
|
893
|
+
yy_current_state = *yyg->yy_state_ptr; /* restore curr. state */ \
|
|
894
|
+
++yyg->yy_lp; \
|
|
895
|
+
goto find_rule; \
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
#define yymore() (yyg->yy_more_flag = 1)
|
|
899
|
+
#define YY_MORE_ADJ yyg->yy_more_len
|
|
553
900
|
#define YY_RESTORE_YY_MORE_OFFSET
|
|
554
901
|
#line 1 "tokenizer.l"
|
|
555
902
|
#line 2 "tokenizer.l"
|
|
556
903
|
|
|
557
|
-
#include "
|
|
904
|
+
#include "ruby.h"
|
|
558
905
|
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
906
|
+
// Anything longer is unlikely to be useful.
|
|
907
|
+
#define MAX_TOKEN_LEN 16
|
|
908
|
+
|
|
909
|
+
#define FEED2(s, l) do { \
|
|
910
|
+
const char* __s = (s); \
|
|
911
|
+
const size_t __l = (l); \
|
|
912
|
+
const size_t __cl = __l > MAX_TOKEN_LEN? MAX_TOKEN_LEN : __l; \
|
|
913
|
+
*yyextra = rb_str_new(__s, __cl); \
|
|
914
|
+
} while(0)
|
|
915
|
+
|
|
916
|
+
#define FEED1(s) FEED2(s, strlen(s))
|
|
917
|
+
|
|
918
|
+
#define FEED() FEED2(yytext, yyleng)
|
|
919
|
+
|
|
920
|
+
#define FEED_STATIC(s) FEED2(s, sizeof(s) - 1)
|
|
921
|
+
|
|
922
|
+
#define FEED_SHEBANG(s) do { \
|
|
923
|
+
const size_t __l = strlen(s); \
|
|
924
|
+
const size_t __cl = __l > MAX_TOKEN_LEN? MAX_TOKEN_LEN : __l; \
|
|
925
|
+
*yyextra = rb_str_new("SHEBANG#!", sizeof("SHEBANG#!") - 1); \
|
|
926
|
+
rb_str_cat(*yyextra, s, __cl); \
|
|
927
|
+
} while(0)
|
|
563
928
|
|
|
564
929
|
#define eat_until_eol() do { \
|
|
565
930
|
int c; \
|
|
@@ -584,17 +949,19 @@ static yyconst flex_int16_t yy_chk[399] =
|
|
|
584
949
|
return 0; \
|
|
585
950
|
} while (0)
|
|
586
951
|
|
|
952
|
+
#line 953 "lex.linguist_yy.c"
|
|
587
953
|
|
|
588
|
-
#line
|
|
954
|
+
#line 955 "lex.linguist_yy.c"
|
|
589
955
|
|
|
590
956
|
#define INITIAL 0
|
|
591
|
-
#define
|
|
592
|
-
#define
|
|
593
|
-
#define
|
|
594
|
-
#define
|
|
595
|
-
#define
|
|
596
|
-
#define
|
|
597
|
-
#define
|
|
957
|
+
#define c_comment 1
|
|
958
|
+
#define xml_comment 2
|
|
959
|
+
#define haskell_comment 3
|
|
960
|
+
#define ocaml_comment 4
|
|
961
|
+
#define python_dcomment 5
|
|
962
|
+
#define python_scomment 6
|
|
963
|
+
#define roff_comment 7
|
|
964
|
+
#define punct 8
|
|
598
965
|
|
|
599
966
|
#ifndef YY_NO_UNISTD_H
|
|
600
967
|
/* Special case for "unistd.h", since it is non-ANSI. We include it way
|
|
@@ -604,7 +971,7 @@ static yyconst flex_int16_t yy_chk[399] =
|
|
|
604
971
|
#include <unistd.h>
|
|
605
972
|
#endif
|
|
606
973
|
|
|
607
|
-
#define YY_EXTRA_TYPE
|
|
974
|
+
#define YY_EXTRA_TYPE VALUE*
|
|
608
975
|
|
|
609
976
|
/* Holds the entire state of the reentrant scanner. */
|
|
610
977
|
struct yyguts_t
|
|
@@ -619,8 +986,8 @@ struct yyguts_t
|
|
|
619
986
|
size_t yy_buffer_stack_max; /**< capacity of stack. */
|
|
620
987
|
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
|
|
621
988
|
char yy_hold_char;
|
|
622
|
-
|
|
623
|
-
|
|
989
|
+
int yy_n_chars;
|
|
990
|
+
int yyleng_r;
|
|
624
991
|
char *yy_c_buf_p;
|
|
625
992
|
int yy_init;
|
|
626
993
|
int yy_start;
|
|
@@ -634,46 +1001,61 @@ struct yyguts_t
|
|
|
634
1001
|
int yylineno_r;
|
|
635
1002
|
int yy_flex_debug_r;
|
|
636
1003
|
|
|
1004
|
+
yy_state_type *yy_state_buf;
|
|
1005
|
+
yy_state_type *yy_state_ptr;
|
|
1006
|
+
char *yy_full_match;
|
|
1007
|
+
int yy_lp;
|
|
1008
|
+
|
|
1009
|
+
/* These are only needed for trailing context rules,
|
|
1010
|
+
* but there's no conditional variable for that yet. */
|
|
1011
|
+
int yy_looking_for_trail_begin;
|
|
1012
|
+
int yy_full_lp;
|
|
1013
|
+
int *yy_full_state;
|
|
1014
|
+
|
|
637
1015
|
char *yytext_r;
|
|
638
1016
|
int yy_more_flag;
|
|
639
1017
|
int yy_more_len;
|
|
640
1018
|
|
|
641
1019
|
}; /* end struct yyguts_t */
|
|
642
1020
|
|
|
643
|
-
static int yy_init_globals (yyscan_t yyscanner );
|
|
1021
|
+
static int yy_init_globals ( yyscan_t yyscanner );
|
|
644
1022
|
|
|
645
|
-
int
|
|
1023
|
+
int yylex_init (yyscan_t* scanner);
|
|
646
1024
|
|
|
647
|
-
int
|
|
1025
|
+
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
|
|
648
1026
|
|
|
649
1027
|
/* Accessor methods to globals.
|
|
650
1028
|
These are made visible to non-reentrant scanners for convenience. */
|
|
651
1029
|
|
|
652
|
-
int
|
|
1030
|
+
int yylex_destroy ( yyscan_t yyscanner );
|
|
653
1031
|
|
|
654
|
-
int
|
|
1032
|
+
int yyget_debug ( yyscan_t yyscanner );
|
|
655
1033
|
|
|
656
|
-
void
|
|
1034
|
+
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
|
|
657
1035
|
|
|
658
|
-
YY_EXTRA_TYPE
|
|
1036
|
+
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
|
|
659
1037
|
|
|
660
|
-
void
|
|
1038
|
+
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
|
|
661
1039
|
|
|
662
|
-
FILE *
|
|
1040
|
+
FILE *yyget_in ( yyscan_t yyscanner );
|
|
663
1041
|
|
|
664
|
-
void
|
|
1042
|
+
void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
|
|
665
1043
|
|
|
666
|
-
FILE *
|
|
1044
|
+
FILE *yyget_out ( yyscan_t yyscanner );
|
|
667
1045
|
|
|
668
|
-
void
|
|
1046
|
+
void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
|
|
669
1047
|
|
|
670
|
-
|
|
1048
|
+
int yyget_leng ( yyscan_t yyscanner );
|
|
671
1049
|
|
|
672
|
-
char *
|
|
1050
|
+
char *yyget_text ( yyscan_t yyscanner );
|
|
673
1051
|
|
|
674
|
-
int
|
|
1052
|
+
int yyget_lineno ( yyscan_t yyscanner );
|
|
675
1053
|
|
|
676
|
-
void
|
|
1054
|
+
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
|
|
1055
|
+
|
|
1056
|
+
int yyget_column ( yyscan_t yyscanner );
|
|
1057
|
+
|
|
1058
|
+
void yyset_column ( int _column_no , yyscan_t yyscanner );
|
|
677
1059
|
|
|
678
1060
|
/* Macros after this point can all be overridden by user definitions in
|
|
679
1061
|
* section 1.
|
|
@@ -681,33 +1063,41 @@ void linguist_yyset_lineno (int line_number ,yyscan_t yyscanner );
|
|
|
681
1063
|
|
|
682
1064
|
#ifndef YY_SKIP_YYWRAP
|
|
683
1065
|
#ifdef __cplusplus
|
|
684
|
-
extern "C" int
|
|
1066
|
+
extern "C" int yywrap ( yyscan_t yyscanner );
|
|
685
1067
|
#else
|
|
686
|
-
extern int
|
|
1068
|
+
extern int yywrap ( yyscan_t yyscanner );
|
|
1069
|
+
#endif
|
|
687
1070
|
#endif
|
|
1071
|
+
|
|
1072
|
+
#ifndef YY_NO_UNPUT
|
|
1073
|
+
|
|
688
1074
|
#endif
|
|
689
1075
|
|
|
690
1076
|
#ifndef yytext_ptr
|
|
691
|
-
static void yy_flex_strncpy (char *,
|
|
1077
|
+
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
|
|
692
1078
|
#endif
|
|
693
1079
|
|
|
694
1080
|
#ifdef YY_NEED_STRLEN
|
|
695
|
-
static int yy_flex_strlen (
|
|
1081
|
+
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
|
|
696
1082
|
#endif
|
|
697
1083
|
|
|
698
1084
|
#ifndef YY_NO_INPUT
|
|
699
|
-
|
|
700
1085
|
#ifdef __cplusplus
|
|
701
|
-
static int yyinput (yyscan_t yyscanner );
|
|
1086
|
+
static int yyinput ( yyscan_t yyscanner );
|
|
702
1087
|
#else
|
|
703
|
-
static int input (yyscan_t yyscanner );
|
|
1088
|
+
static int input ( yyscan_t yyscanner );
|
|
704
1089
|
#endif
|
|
705
1090
|
|
|
706
1091
|
#endif
|
|
707
1092
|
|
|
708
1093
|
/* Amount of stuff to slurp up with each read. */
|
|
709
1094
|
#ifndef YY_READ_BUF_SIZE
|
|
1095
|
+
#ifdef __ia64__
|
|
1096
|
+
/* On IA-64, the buffer size is 16k, not 8k */
|
|
1097
|
+
#define YY_READ_BUF_SIZE 16384
|
|
1098
|
+
#else
|
|
710
1099
|
#define YY_READ_BUF_SIZE 8192
|
|
1100
|
+
#endif /* __ia64__ */
|
|
711
1101
|
#endif
|
|
712
1102
|
|
|
713
1103
|
/* Copy whatever the last rule matched to the standard output. */
|
|
@@ -715,7 +1105,7 @@ static int input (yyscan_t yyscanner );
|
|
|
715
1105
|
/* This used to be an fputs(), but since the string might contain NUL's,
|
|
716
1106
|
* we now use fwrite().
|
|
717
1107
|
*/
|
|
718
|
-
#define ECHO fwrite( yytext, yyleng, 1, yyout )
|
|
1108
|
+
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
|
|
719
1109
|
#endif
|
|
720
1110
|
|
|
721
1111
|
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
|
|
@@ -726,7 +1116,7 @@ static int input (yyscan_t yyscanner );
|
|
|
726
1116
|
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
|
|
727
1117
|
{ \
|
|
728
1118
|
int c = '*'; \
|
|
729
|
-
|
|
1119
|
+
int n; \
|
|
730
1120
|
for ( n = 0; n < max_size && \
|
|
731
1121
|
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
|
|
732
1122
|
buf[n] = (char) c; \
|
|
@@ -739,7 +1129,7 @@ static int input (yyscan_t yyscanner );
|
|
|
739
1129
|
else \
|
|
740
1130
|
{ \
|
|
741
1131
|
errno=0; \
|
|
742
|
-
while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
|
|
1132
|
+
while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
|
|
743
1133
|
{ \
|
|
744
1134
|
if( errno != EINTR) \
|
|
745
1135
|
{ \
|
|
@@ -780,9 +1170,9 @@ static int input (yyscan_t yyscanner );
|
|
|
780
1170
|
#ifndef YY_DECL
|
|
781
1171
|
#define YY_DECL_IS_OURS 1
|
|
782
1172
|
|
|
783
|
-
extern int
|
|
1173
|
+
extern int yylex (yyscan_t yyscanner);
|
|
784
1174
|
|
|
785
|
-
#define YY_DECL int
|
|
1175
|
+
#define YY_DECL int yylex (yyscan_t yyscanner)
|
|
786
1176
|
#endif /* !YY_DECL */
|
|
787
1177
|
|
|
788
1178
|
/* Code executed at the beginning of each rule, after yytext and yyleng
|
|
@@ -794,7 +1184,7 @@ extern int linguist_yylex (yyscan_t yyscanner);
|
|
|
794
1184
|
|
|
795
1185
|
/* Code executed at the end of each rule. */
|
|
796
1186
|
#ifndef YY_BREAK
|
|
797
|
-
#define YY_BREAK break;
|
|
1187
|
+
#define YY_BREAK /*LINTED*/break;
|
|
798
1188
|
#endif
|
|
799
1189
|
|
|
800
1190
|
#define YY_RULE_SETUP \
|
|
@@ -807,16 +1197,11 @@ extern int linguist_yylex (yyscan_t yyscanner);
|
|
|
807
1197
|
*/
|
|
808
1198
|
YY_DECL
|
|
809
1199
|
{
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
1200
|
+
yy_state_type yy_current_state;
|
|
1201
|
+
char *yy_cp, *yy_bp;
|
|
1202
|
+
int yy_act;
|
|
813
1203
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
814
1204
|
|
|
815
|
-
#line 38 "tokenizer.l"
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
#line 819 "lex.linguist_yy.c"
|
|
819
|
-
|
|
820
1205
|
if ( !yyg->yy_init )
|
|
821
1206
|
{
|
|
822
1207
|
yyg->yy_init = 1;
|
|
@@ -825,6 +1210,12 @@ YY_DECL
|
|
|
825
1210
|
YY_USER_INIT;
|
|
826
1211
|
#endif
|
|
827
1212
|
|
|
1213
|
+
/* Create the reject buffer large enough to save one state per allowed character. */
|
|
1214
|
+
if ( ! yyg->yy_state_buf )
|
|
1215
|
+
yyg->yy_state_buf = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE , yyscanner);
|
|
1216
|
+
if ( ! yyg->yy_state_buf )
|
|
1217
|
+
YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
|
|
1218
|
+
|
|
828
1219
|
if ( ! yyg->yy_start )
|
|
829
1220
|
yyg->yy_start = 1; /* first start state */
|
|
830
1221
|
|
|
@@ -835,16 +1226,28 @@ YY_DECL
|
|
|
835
1226
|
yyout = stdout;
|
|
836
1227
|
|
|
837
1228
|
if ( ! YY_CURRENT_BUFFER ) {
|
|
838
|
-
|
|
1229
|
+
yyensure_buffer_stack (yyscanner);
|
|
839
1230
|
YY_CURRENT_BUFFER_LVALUE =
|
|
840
|
-
|
|
1231
|
+
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
|
|
841
1232
|
}
|
|
842
1233
|
|
|
843
|
-
|
|
1234
|
+
yy_load_buffer_state( yyscanner );
|
|
844
1235
|
}
|
|
845
1236
|
|
|
846
|
-
|
|
1237
|
+
{
|
|
1238
|
+
#line 58 "tokenizer.l"
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
#line 1242 "lex.linguist_yy.c"
|
|
1242
|
+
|
|
1243
|
+
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
|
847
1244
|
{
|
|
1245
|
+
yyg->yy_more_len = 0;
|
|
1246
|
+
if ( yyg->yy_more_flag )
|
|
1247
|
+
{
|
|
1248
|
+
yyg->yy_more_len = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
|
|
1249
|
+
yyg->yy_more_flag = 0;
|
|
1250
|
+
}
|
|
848
1251
|
yy_cp = yyg->yy_c_buf_p;
|
|
849
1252
|
|
|
850
1253
|
/* Support of yytext. */
|
|
@@ -857,30 +1260,64 @@ YY_DECL
|
|
|
857
1260
|
|
|
858
1261
|
yy_current_state = yyg->yy_start;
|
|
859
1262
|
yy_current_state += YY_AT_BOL();
|
|
1263
|
+
|
|
1264
|
+
yyg->yy_state_ptr = yyg->yy_state_buf;
|
|
1265
|
+
*yyg->yy_state_ptr++ = yy_current_state;
|
|
1266
|
+
|
|
860
1267
|
yy_match:
|
|
861
1268
|
do
|
|
862
1269
|
{
|
|
863
|
-
|
|
864
|
-
if ( yy_accept[yy_current_state] )
|
|
865
|
-
{
|
|
866
|
-
yyg->yy_last_accepting_state = yy_current_state;
|
|
867
|
-
yyg->yy_last_accepting_cpos = yy_cp;
|
|
868
|
-
}
|
|
1270
|
+
YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
|
|
869
1271
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
870
1272
|
{
|
|
871
1273
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
872
|
-
if ( yy_current_state >=
|
|
873
|
-
yy_c = yy_meta[
|
|
1274
|
+
if ( yy_current_state >= 210 )
|
|
1275
|
+
yy_c = yy_meta[yy_c];
|
|
874
1276
|
}
|
|
875
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
|
1277
|
+
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
1278
|
+
*yyg->yy_state_ptr++ = yy_current_state;
|
|
876
1279
|
++yy_cp;
|
|
877
1280
|
}
|
|
878
|
-
while ( yy_current_state !=
|
|
879
|
-
yy_cp = yyg->yy_last_accepting_cpos;
|
|
880
|
-
yy_current_state = yyg->yy_last_accepting_state;
|
|
1281
|
+
while ( yy_current_state != 209 );
|
|
881
1282
|
|
|
882
1283
|
yy_find_action:
|
|
883
|
-
|
|
1284
|
+
yy_current_state = *--yyg->yy_state_ptr;
|
|
1285
|
+
yyg->yy_lp = yy_accept[yy_current_state];
|
|
1286
|
+
find_rule: /* we branch to this label when backing up */
|
|
1287
|
+
for ( ; ; ) /* until we find what rule we matched */
|
|
1288
|
+
{
|
|
1289
|
+
if ( yyg->yy_lp && yyg->yy_lp < yy_accept[yy_current_state + 1] )
|
|
1290
|
+
{
|
|
1291
|
+
yy_act = yy_acclist[yyg->yy_lp];
|
|
1292
|
+
if ( yy_act & YY_TRAILING_HEAD_MASK ||
|
|
1293
|
+
yyg->yy_looking_for_trail_begin )
|
|
1294
|
+
{
|
|
1295
|
+
if ( yy_act == yyg->yy_looking_for_trail_begin )
|
|
1296
|
+
{
|
|
1297
|
+
yyg->yy_looking_for_trail_begin = 0;
|
|
1298
|
+
yy_act &= ~YY_TRAILING_HEAD_MASK;
|
|
1299
|
+
break;
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
else if ( yy_act & YY_TRAILING_MASK )
|
|
1303
|
+
{
|
|
1304
|
+
yyg->yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK;
|
|
1305
|
+
yyg->yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK;
|
|
1306
|
+
}
|
|
1307
|
+
else
|
|
1308
|
+
{
|
|
1309
|
+
yyg->yy_full_match = yy_cp;
|
|
1310
|
+
yyg->yy_full_state = yyg->yy_state_ptr;
|
|
1311
|
+
yyg->yy_full_lp = yyg->yy_lp;
|
|
1312
|
+
break;
|
|
1313
|
+
}
|
|
1314
|
+
++yyg->yy_lp;
|
|
1315
|
+
goto find_rule;
|
|
1316
|
+
}
|
|
1317
|
+
--yy_cp;
|
|
1318
|
+
yy_current_state = *--yyg->yy_state_ptr;
|
|
1319
|
+
yyg->yy_lp = yy_accept[yy_current_state];
|
|
1320
|
+
}
|
|
884
1321
|
|
|
885
1322
|
YY_DO_BEFORE_ACTION;
|
|
886
1323
|
|
|
@@ -888,224 +1325,297 @@ do_action: /* This label is used only to access EOF actions. */
|
|
|
888
1325
|
|
|
889
1326
|
switch ( yy_act )
|
|
890
1327
|
{ /* beginning of action switch */
|
|
891
|
-
case 0: /* must back up */
|
|
892
|
-
/* undo the effects of YY_DO_BEFORE_ACTION */
|
|
893
|
-
*yy_cp = yyg->yy_hold_char;
|
|
894
|
-
yy_cp = yyg->yy_last_accepting_cpos;
|
|
895
|
-
yy_current_state = yyg->yy_last_accepting_state;
|
|
896
|
-
goto yy_find_action;
|
|
897
|
-
|
|
898
1328
|
case 1:
|
|
899
1329
|
/* rule 1 can match eol */
|
|
900
1330
|
YY_RULE_SETUP
|
|
901
|
-
#line
|
|
1331
|
+
#line 60 "tokenizer.l"
|
|
902
1332
|
{
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
1333
|
+
const char *off = strrchr(yytext, ' ');
|
|
1334
|
+
if (!off)
|
|
1335
|
+
off = yytext;
|
|
1336
|
+
else
|
|
1337
|
+
++off;
|
|
1338
|
+
FEED_SHEBANG(off);
|
|
1339
|
+
eat_until_eol();
|
|
1340
|
+
return 1;
|
|
1341
|
+
}
|
|
912
1342
|
YY_BREAK
|
|
913
1343
|
case 2:
|
|
914
1344
|
YY_RULE_SETUP
|
|
915
|
-
#line
|
|
1345
|
+
#line 71 "tokenizer.l"
|
|
916
1346
|
{
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
}
|
|
1347
|
+
const char *off = strrchr(yytext, '/');
|
|
1348
|
+
if (!off)
|
|
1349
|
+
off = yytext;
|
|
1350
|
+
else
|
|
1351
|
+
++off;
|
|
1352
|
+
if (strcmp(off, "env") == 0) {
|
|
1353
|
+
eat_until_eol();
|
|
1354
|
+
} else {
|
|
1355
|
+
FEED_SHEBANG(off);
|
|
1356
|
+
eat_until_eol();
|
|
1357
|
+
return 1;
|
|
929
1358
|
}
|
|
1359
|
+
}
|
|
930
1360
|
YY_BREAK
|
|
931
1361
|
case 3:
|
|
1362
|
+
/* rule 3 can match eol */
|
|
932
1363
|
YY_RULE_SETUP
|
|
933
|
-
#line
|
|
934
|
-
{
|
|
1364
|
+
#line 86 "tokenizer.l"
|
|
1365
|
+
{ FEED_STATIC("COMMENT#"); return 1; }
|
|
935
1366
|
YY_BREAK
|
|
936
1367
|
case 4:
|
|
1368
|
+
/* rule 4 can match eol */
|
|
937
1369
|
YY_RULE_SETUP
|
|
938
|
-
#line
|
|
939
|
-
{
|
|
1370
|
+
#line 87 "tokenizer.l"
|
|
1371
|
+
{ FEED_STATIC("COMMENT//!"); return 1; }
|
|
940
1372
|
YY_BREAK
|
|
941
|
-
/* See below for xml_comment start. */
|
|
942
1373
|
case 5:
|
|
1374
|
+
/* rule 5 can match eol */
|
|
943
1375
|
YY_RULE_SETUP
|
|
944
|
-
#line
|
|
945
|
-
{
|
|
1376
|
+
#line 88 "tokenizer.l"
|
|
1377
|
+
{ FEED_STATIC("COMMENT//"); return 1; }
|
|
946
1378
|
YY_BREAK
|
|
947
1379
|
case 6:
|
|
1380
|
+
/* rule 6 can match eol */
|
|
948
1381
|
YY_RULE_SETUP
|
|
949
|
-
#line
|
|
950
|
-
{
|
|
1382
|
+
#line 89 "tokenizer.l"
|
|
1383
|
+
{ FEED_STATIC("COMMENT--"); return 1; }
|
|
951
1384
|
YY_BREAK
|
|
952
1385
|
case 7:
|
|
1386
|
+
/* rule 7 can match eol */
|
|
953
1387
|
YY_RULE_SETUP
|
|
954
|
-
#line
|
|
955
|
-
{
|
|
1388
|
+
#line 90 "tokenizer.l"
|
|
1389
|
+
{ FEED_STATIC("COMMENT%"); return 1; }
|
|
956
1390
|
YY_BREAK
|
|
957
1391
|
case 8:
|
|
1392
|
+
/* rule 8 can match eol */
|
|
958
1393
|
YY_RULE_SETUP
|
|
959
|
-
#line
|
|
960
|
-
{
|
|
1394
|
+
#line 91 "tokenizer.l"
|
|
1395
|
+
{ FEED_STATIC("COMMENT\""); return 1; }
|
|
961
1396
|
YY_BREAK
|
|
962
1397
|
case 9:
|
|
963
1398
|
/* rule 9 can match eol */
|
|
964
1399
|
YY_RULE_SETUP
|
|
965
|
-
#line
|
|
966
|
-
{
|
|
1400
|
+
#line 92 "tokenizer.l"
|
|
1401
|
+
{ FEED_STATIC("COMMENT;"); return 1; }
|
|
967
1402
|
YY_BREAK
|
|
968
1403
|
case 10:
|
|
1404
|
+
/* rule 10 can match eol */
|
|
969
1405
|
YY_RULE_SETUP
|
|
970
|
-
#line
|
|
971
|
-
{
|
|
1406
|
+
#line 93 "tokenizer.l"
|
|
1407
|
+
{ FEED_STATIC("COMMENT.\\\""); return 1; }
|
|
972
1408
|
YY_BREAK
|
|
973
1409
|
case 11:
|
|
1410
|
+
/* rule 11 can match eol */
|
|
974
1411
|
YY_RULE_SETUP
|
|
975
|
-
#line
|
|
976
|
-
{
|
|
1412
|
+
#line 94 "tokenizer.l"
|
|
1413
|
+
{ FEED_STATIC("COMMENT'\\\""); return 1; }
|
|
977
1414
|
YY_BREAK
|
|
978
1415
|
case 12:
|
|
979
1416
|
YY_RULE_SETUP
|
|
980
|
-
#line
|
|
981
|
-
{
|
|
1417
|
+
#line 96 "tokenizer.l"
|
|
1418
|
+
{ FEED_STATIC("COMMENT/*"); return 1; }
|
|
982
1419
|
YY_BREAK
|
|
983
1420
|
case 13:
|
|
984
1421
|
YY_RULE_SETUP
|
|
985
|
-
#line
|
|
986
|
-
{ BEGIN(
|
|
1422
|
+
#line 97 "tokenizer.l"
|
|
1423
|
+
{ FEED_STATIC("COMMENT/**"); BEGIN(c_comment); return 1; }
|
|
987
1424
|
YY_BREAK
|
|
988
1425
|
case 14:
|
|
989
1426
|
YY_RULE_SETUP
|
|
990
|
-
#line
|
|
991
|
-
{ BEGIN(
|
|
1427
|
+
#line 98 "tokenizer.l"
|
|
1428
|
+
{ FEED_STATIC("COMMENT/*!"); BEGIN(c_comment); return 1; }
|
|
992
1429
|
YY_BREAK
|
|
993
1430
|
case 15:
|
|
994
1431
|
YY_RULE_SETUP
|
|
995
|
-
#line
|
|
996
|
-
{ BEGIN(
|
|
1432
|
+
#line 99 "tokenizer.l"
|
|
1433
|
+
{ FEED_STATIC("COMMENT/*"); BEGIN(c_comment); return 1; }
|
|
997
1434
|
YY_BREAK
|
|
998
1435
|
case 16:
|
|
999
1436
|
YY_RULE_SETUP
|
|
1000
|
-
#line
|
|
1001
|
-
{
|
|
1437
|
+
#line 100 "tokenizer.l"
|
|
1438
|
+
{ FEED_STATIC("COMMENT<!--"); BEGIN(xml_comment); return 1; }
|
|
1002
1439
|
YY_BREAK
|
|
1003
1440
|
case 17:
|
|
1004
1441
|
YY_RULE_SETUP
|
|
1005
|
-
#line
|
|
1006
|
-
{
|
|
1442
|
+
#line 101 "tokenizer.l"
|
|
1443
|
+
{ FEED_STATIC("COMMENT{-"); BEGIN(haskell_comment); return 1; }
|
|
1007
1444
|
YY_BREAK
|
|
1008
1445
|
case 18:
|
|
1009
1446
|
YY_RULE_SETUP
|
|
1010
|
-
#line
|
|
1011
|
-
{
|
|
1447
|
+
#line 102 "tokenizer.l"
|
|
1448
|
+
{ FEED_STATIC("COMMENT(*"); BEGIN(ocaml_comment); return 1; }
|
|
1012
1449
|
YY_BREAK
|
|
1013
1450
|
case 19:
|
|
1014
1451
|
YY_RULE_SETUP
|
|
1015
|
-
#line
|
|
1016
|
-
{
|
|
1452
|
+
#line 103 "tokenizer.l"
|
|
1453
|
+
{ FEED_STATIC("COMMENT\"\"\""); BEGIN(python_dcomment); return 1; }
|
|
1017
1454
|
YY_BREAK
|
|
1018
1455
|
case 20:
|
|
1019
1456
|
YY_RULE_SETUP
|
|
1020
|
-
#line
|
|
1021
|
-
{
|
|
1022
|
-
if (strcmp(yytext, "<!--") == 0) {
|
|
1023
|
-
BEGIN(xml_comment);
|
|
1024
|
-
} else {
|
|
1025
|
-
feed_token(strdup(yytext), SGML_TOKEN);
|
|
1026
|
-
BEGIN(sgml);
|
|
1027
|
-
return 1;
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1457
|
+
#line 104 "tokenizer.l"
|
|
1458
|
+
{ FEED_STATIC("COMMENT'''"); BEGIN(python_scomment); return 1; }
|
|
1030
1459
|
YY_BREAK
|
|
1031
1460
|
case 21:
|
|
1461
|
+
/* rule 21 can match eol */
|
|
1032
1462
|
YY_RULE_SETUP
|
|
1033
|
-
#line
|
|
1034
|
-
{
|
|
1463
|
+
#line 105 "tokenizer.l"
|
|
1464
|
+
{ FEED_STATIC("COMMENT.ig"); BEGIN(roff_comment); return 1; }
|
|
1035
1465
|
YY_BREAK
|
|
1036
1466
|
case 22:
|
|
1467
|
+
/* rule 22 can match eol */
|
|
1037
1468
|
YY_RULE_SETUP
|
|
1038
|
-
#line
|
|
1039
|
-
{
|
|
1469
|
+
#line 107 "tokenizer.l"
|
|
1470
|
+
{ /* nothing */ }
|
|
1040
1471
|
YY_BREAK
|
|
1041
1472
|
case 23:
|
|
1042
1473
|
YY_RULE_SETUP
|
|
1043
|
-
#line
|
|
1044
|
-
{
|
|
1474
|
+
#line 108 "tokenizer.l"
|
|
1475
|
+
{ BEGIN(INITIAL); }
|
|
1045
1476
|
YY_BREAK
|
|
1046
1477
|
case 24:
|
|
1047
1478
|
YY_RULE_SETUP
|
|
1048
|
-
#line
|
|
1049
|
-
{
|
|
1479
|
+
#line 109 "tokenizer.l"
|
|
1480
|
+
{ BEGIN(INITIAL); }
|
|
1050
1481
|
YY_BREAK
|
|
1051
1482
|
case 25:
|
|
1052
1483
|
YY_RULE_SETUP
|
|
1053
|
-
#line
|
|
1484
|
+
#line 110 "tokenizer.l"
|
|
1054
1485
|
{ BEGIN(INITIAL); }
|
|
1055
1486
|
YY_BREAK
|
|
1056
1487
|
case 26:
|
|
1057
|
-
/* rule 26 can match eol */
|
|
1058
1488
|
YY_RULE_SETUP
|
|
1059
|
-
#line
|
|
1060
|
-
{
|
|
1489
|
+
#line 111 "tokenizer.l"
|
|
1490
|
+
{ BEGIN(INITIAL); }
|
|
1061
1491
|
YY_BREAK
|
|
1062
1492
|
case 27:
|
|
1063
1493
|
YY_RULE_SETUP
|
|
1064
|
-
#line
|
|
1065
|
-
{
|
|
1494
|
+
#line 112 "tokenizer.l"
|
|
1495
|
+
{ BEGIN(INITIAL); }
|
|
1066
1496
|
YY_BREAK
|
|
1067
1497
|
case 28:
|
|
1068
1498
|
YY_RULE_SETUP
|
|
1069
|
-
#line
|
|
1070
|
-
{
|
|
1071
|
-
if (strncmp(yytext, "/*", 2) == 0) {
|
|
1072
|
-
if (strlen(yytext) >= 4 && strcmp(yytext + strlen(yytext) - 2, "*/") == 0) {
|
|
1073
|
-
/* nothing */
|
|
1074
|
-
} else {
|
|
1075
|
-
BEGIN(c_comment);
|
|
1076
|
-
}
|
|
1077
|
-
} else {
|
|
1078
|
-
feed_token(strdup(yytext), REGULAR_TOKEN);
|
|
1079
|
-
return 1;
|
|
1080
|
-
}
|
|
1081
|
-
}
|
|
1499
|
+
#line 113 "tokenizer.l"
|
|
1500
|
+
{ BEGIN(INITIAL); }
|
|
1082
1501
|
YY_BREAK
|
|
1083
1502
|
case 29:
|
|
1503
|
+
/* rule 29 can match eol */
|
|
1084
1504
|
YY_RULE_SETUP
|
|
1085
|
-
#line
|
|
1086
|
-
{
|
|
1505
|
+
#line 114 "tokenizer.l"
|
|
1506
|
+
{ BEGIN(INITIAL); }
|
|
1087
1507
|
YY_BREAK
|
|
1088
1508
|
case 30:
|
|
1089
|
-
/* rule 30 can match eol */
|
|
1090
1509
|
YY_RULE_SETUP
|
|
1091
1510
|
#line 116 "tokenizer.l"
|
|
1092
1511
|
{ /* nothing */ }
|
|
1093
1512
|
YY_BREAK
|
|
1094
1513
|
case 31:
|
|
1095
1514
|
YY_RULE_SETUP
|
|
1515
|
+
#line 117 "tokenizer.l"
|
|
1516
|
+
{ eat_until_unescaped('"'); }
|
|
1517
|
+
YY_BREAK
|
|
1518
|
+
case 32:
|
|
1519
|
+
YY_RULE_SETUP
|
|
1096
1520
|
#line 118 "tokenizer.l"
|
|
1521
|
+
{ eat_until_unescaped('\''); }
|
|
1522
|
+
YY_BREAK
|
|
1523
|
+
case 33:
|
|
1524
|
+
YY_RULE_SETUP
|
|
1525
|
+
#line 119 "tokenizer.l"
|
|
1526
|
+
{ /* nothing */ }
|
|
1527
|
+
YY_BREAK
|
|
1528
|
+
case 34:
|
|
1529
|
+
YY_RULE_SETUP
|
|
1530
|
+
#line 121 "tokenizer.l"
|
|
1531
|
+
{ FEED(); return 1; }
|
|
1532
|
+
YY_BREAK
|
|
1533
|
+
case 35:
|
|
1534
|
+
YY_RULE_SETUP
|
|
1535
|
+
#line 122 "tokenizer.l"
|
|
1536
|
+
{ FEED(); return 1; }
|
|
1537
|
+
YY_BREAK
|
|
1538
|
+
case 36:
|
|
1539
|
+
YY_RULE_SETUP
|
|
1540
|
+
#line 123 "tokenizer.l"
|
|
1541
|
+
{ FEED(); return 1; }
|
|
1542
|
+
YY_BREAK
|
|
1543
|
+
case 37:
|
|
1544
|
+
/* rule 37 can match eol */
|
|
1545
|
+
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
|
|
1546
|
+
YY_LINENO_REWIND_TO(yy_cp - 1);
|
|
1547
|
+
yyg->yy_c_buf_p = yy_cp -= 1;
|
|
1548
|
+
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
|
1549
|
+
YY_RULE_SETUP
|
|
1550
|
+
#line 125 "tokenizer.l"
|
|
1551
|
+
{ FEED(); BEGIN(INITIAL); return 1; }
|
|
1552
|
+
YY_BREAK
|
|
1553
|
+
case 38:
|
|
1554
|
+
YY_RULE_SETUP
|
|
1555
|
+
#line 126 "tokenizer.l"
|
|
1556
|
+
{ FEED(); BEGIN(INITIAL); return 1; }
|
|
1557
|
+
YY_BREAK
|
|
1558
|
+
case 39:
|
|
1559
|
+
/* rule 39 can match eol */
|
|
1560
|
+
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
|
|
1561
|
+
YY_LINENO_REWIND_TO(yy_cp - 1);
|
|
1562
|
+
yyg->yy_c_buf_p = yy_cp -= 1;
|
|
1563
|
+
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
|
1564
|
+
YY_RULE_SETUP
|
|
1565
|
+
#line 127 "tokenizer.l"
|
|
1566
|
+
{ FEED(); BEGIN(INITIAL); return 1; }
|
|
1567
|
+
YY_BREAK
|
|
1568
|
+
case 40:
|
|
1569
|
+
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
|
|
1570
|
+
yyg->yy_c_buf_p = yy_cp -= 4;
|
|
1571
|
+
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
|
1572
|
+
YY_RULE_SETUP
|
|
1573
|
+
#line 128 "tokenizer.l"
|
|
1574
|
+
{ FEED(); BEGIN(INITIAL); return 1; }
|
|
1575
|
+
YY_BREAK
|
|
1576
|
+
case 41:
|
|
1577
|
+
*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
|
|
1578
|
+
yyg->yy_c_buf_p = yy_cp -= 2;
|
|
1579
|
+
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
|
1580
|
+
YY_RULE_SETUP
|
|
1581
|
+
#line 129 "tokenizer.l"
|
|
1582
|
+
{ FEED(); BEGIN(INITIAL); return 1; }
|
|
1583
|
+
YY_BREAK
|
|
1584
|
+
case 42:
|
|
1585
|
+
YY_RULE_SETUP
|
|
1586
|
+
#line 130 "tokenizer.l"
|
|
1587
|
+
{ yymore(); BEGIN(punct); }
|
|
1588
|
+
YY_BREAK
|
|
1589
|
+
case 43:
|
|
1590
|
+
YY_RULE_SETUP
|
|
1591
|
+
#line 131 "tokenizer.l"
|
|
1592
|
+
{ yymore(); BEGIN(punct); }
|
|
1593
|
+
YY_BREAK
|
|
1594
|
+
case YY_STATE_EOF(punct):
|
|
1595
|
+
#line 132 "tokenizer.l"
|
|
1596
|
+
{ FEED2(yytext, yyleng - 1); BEGIN(INITIAL); return 1; }
|
|
1597
|
+
YY_BREAK
|
|
1598
|
+
case 44:
|
|
1599
|
+
/* rule 44 can match eol */
|
|
1600
|
+
YY_RULE_SETUP
|
|
1601
|
+
#line 134 "tokenizer.l"
|
|
1602
|
+
{ /* nothing */ }
|
|
1603
|
+
YY_BREAK
|
|
1604
|
+
case 45:
|
|
1605
|
+
YY_RULE_SETUP
|
|
1606
|
+
#line 136 "tokenizer.l"
|
|
1097
1607
|
YY_FATAL_ERROR( "flex scanner jammed" );
|
|
1098
1608
|
YY_BREAK
|
|
1099
|
-
#line
|
|
1100
|
-
case YY_STATE_EOF(INITIAL):
|
|
1101
|
-
case YY_STATE_EOF(
|
|
1102
|
-
case YY_STATE_EOF(
|
|
1103
|
-
case YY_STATE_EOF(
|
|
1104
|
-
case YY_STATE_EOF(
|
|
1105
|
-
case YY_STATE_EOF(
|
|
1106
|
-
case YY_STATE_EOF(
|
|
1107
|
-
case YY_STATE_EOF(
|
|
1108
|
-
|
|
1609
|
+
#line 1610 "lex.linguist_yy.c"
|
|
1610
|
+
case YY_STATE_EOF(INITIAL):
|
|
1611
|
+
case YY_STATE_EOF(c_comment):
|
|
1612
|
+
case YY_STATE_EOF(xml_comment):
|
|
1613
|
+
case YY_STATE_EOF(haskell_comment):
|
|
1614
|
+
case YY_STATE_EOF(ocaml_comment):
|
|
1615
|
+
case YY_STATE_EOF(python_dcomment):
|
|
1616
|
+
case YY_STATE_EOF(python_scomment):
|
|
1617
|
+
case YY_STATE_EOF(roff_comment):
|
|
1618
|
+
yyterminate();
|
|
1109
1619
|
|
|
1110
1620
|
case YY_END_OF_BUFFER:
|
|
1111
1621
|
{
|
|
@@ -1121,7 +1631,7 @@ case YY_STATE_EOF(python_scomment):
|
|
|
1121
1631
|
/* We're scanning a new file or input source. It's
|
|
1122
1632
|
* possible that this happened because the user
|
|
1123
1633
|
* just pointed yyin at a new source and called
|
|
1124
|
-
*
|
|
1634
|
+
* yylex(). If so, then we have to assure
|
|
1125
1635
|
* consistency between YY_CURRENT_BUFFER and our
|
|
1126
1636
|
* globals. Here is the right place to do so, because
|
|
1127
1637
|
* this is the first action (other than possibly a
|
|
@@ -1170,8 +1680,7 @@ case YY_STATE_EOF(python_scomment):
|
|
|
1170
1680
|
|
|
1171
1681
|
else
|
|
1172
1682
|
{
|
|
1173
|
-
yy_cp = yyg->
|
|
1174
|
-
yy_current_state = yyg->yy_last_accepting_state;
|
|
1683
|
+
yy_cp = yyg->yy_c_buf_p;
|
|
1175
1684
|
goto yy_find_action;
|
|
1176
1685
|
}
|
|
1177
1686
|
}
|
|
@@ -1182,7 +1691,7 @@ case YY_STATE_EOF(python_scomment):
|
|
|
1182
1691
|
{
|
|
1183
1692
|
yyg->yy_did_buffer_switch_on_eof = 0;
|
|
1184
1693
|
|
|
1185
|
-
if (
|
|
1694
|
+
if ( yywrap( yyscanner ) )
|
|
1186
1695
|
{
|
|
1187
1696
|
/* Note: because we've taken care in
|
|
1188
1697
|
* yy_get_next_buffer() to have set up
|
|
@@ -1235,7 +1744,8 @@ case YY_STATE_EOF(python_scomment):
|
|
|
1235
1744
|
"fatal flex scanner internal error--no action found" );
|
|
1236
1745
|
} /* end of action switch */
|
|
1237
1746
|
} /* end of scanning one token */
|
|
1238
|
-
} /* end of
|
|
1747
|
+
} /* end of user's declarations */
|
|
1748
|
+
} /* end of yylex */
|
|
1239
1749
|
|
|
1240
1750
|
/* yy_get_next_buffer - try to read in a new buffer
|
|
1241
1751
|
*
|
|
@@ -1247,9 +1757,9 @@ case YY_STATE_EOF(python_scomment):
|
|
|
1247
1757
|
static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
1248
1758
|
{
|
|
1249
1759
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1760
|
+
char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
|
|
1761
|
+
char *source = yyg->yytext_ptr;
|
|
1762
|
+
int number_to_move, i;
|
|
1253
1763
|
int ret_val;
|
|
1254
1764
|
|
|
1255
1765
|
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
|
|
@@ -1278,7 +1788,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1278
1788
|
/* Try to read more data. */
|
|
1279
1789
|
|
|
1280
1790
|
/* First move last chars to start of buffer. */
|
|
1281
|
-
number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr
|
|
1791
|
+
number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
|
|
1282
1792
|
|
|
1283
1793
|
for ( i = 0; i < number_to_move; ++i )
|
|
1284
1794
|
*(dest++) = *(source++);
|
|
@@ -1291,43 +1801,14 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1291
1801
|
|
|
1292
1802
|
else
|
|
1293
1803
|
{
|
|
1294
|
-
|
|
1804
|
+
int num_to_read =
|
|
1295
1805
|
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
|
|
1296
1806
|
|
|
1297
1807
|
while ( num_to_read <= 0 )
|
|
1298
1808
|
{ /* Not enough room in the buffer - grow it. */
|
|
1299
1809
|
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
int yy_c_buf_p_offset =
|
|
1304
|
-
(int) (yyg->yy_c_buf_p - b->yy_ch_buf);
|
|
1305
|
-
|
|
1306
|
-
if ( b->yy_is_our_buffer )
|
|
1307
|
-
{
|
|
1308
|
-
yy_size_t new_size = b->yy_buf_size * 2;
|
|
1309
|
-
|
|
1310
|
-
if ( new_size <= 0 )
|
|
1311
|
-
b->yy_buf_size += b->yy_buf_size / 8;
|
|
1312
|
-
else
|
|
1313
|
-
b->yy_buf_size *= 2;
|
|
1314
|
-
|
|
1315
|
-
b->yy_ch_buf = (char *)
|
|
1316
|
-
/* Include room in for 2 EOB chars. */
|
|
1317
|
-
linguist_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
|
|
1318
|
-
}
|
|
1319
|
-
else
|
|
1320
|
-
/* Can't grow it, we don't own it. */
|
|
1321
|
-
b->yy_ch_buf = 0;
|
|
1322
|
-
|
|
1323
|
-
if ( ! b->yy_ch_buf )
|
|
1324
|
-
YY_FATAL_ERROR(
|
|
1325
|
-
"fatal error - scanner input buffer overflow" );
|
|
1326
|
-
|
|
1327
|
-
yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
|
|
1328
|
-
|
|
1329
|
-
num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
|
|
1330
|
-
number_to_move - 1;
|
|
1810
|
+
YY_FATAL_ERROR(
|
|
1811
|
+
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
|
|
1331
1812
|
|
|
1332
1813
|
}
|
|
1333
1814
|
|
|
@@ -1346,7 +1827,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1346
1827
|
if ( number_to_move == YY_MORE_ADJ )
|
|
1347
1828
|
{
|
|
1348
1829
|
ret_val = EOB_ACT_END_OF_FILE;
|
|
1349
|
-
|
|
1830
|
+
yyrestart( yyin , yyscanner);
|
|
1350
1831
|
}
|
|
1351
1832
|
|
|
1352
1833
|
else
|
|
@@ -1360,12 +1841,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1360
1841
|
else
|
|
1361
1842
|
ret_val = EOB_ACT_CONTINUE_SCAN;
|
|
1362
1843
|
|
|
1363
|
-
if ((
|
|
1844
|
+
if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
|
|
1364
1845
|
/* Extend the array by 50%, plus the number we really need. */
|
|
1365
|
-
|
|
1366
|
-
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *)
|
|
1846
|
+
int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
|
|
1847
|
+
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
|
|
1848
|
+
(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
|
|
1367
1849
|
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
|
|
1368
1850
|
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
|
|
1851
|
+
/* "- 2" to take care of EOB's */
|
|
1852
|
+
YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
|
|
1369
1853
|
}
|
|
1370
1854
|
|
|
1371
1855
|
yyg->yy_n_chars += number_to_move;
|
|
@@ -1381,28 +1865,27 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1381
1865
|
|
|
1382
1866
|
static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
|
|
1383
1867
|
{
|
|
1384
|
-
|
|
1385
|
-
|
|
1868
|
+
yy_state_type yy_current_state;
|
|
1869
|
+
char *yy_cp;
|
|
1386
1870
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1387
1871
|
|
|
1388
1872
|
yy_current_state = yyg->yy_start;
|
|
1389
1873
|
yy_current_state += YY_AT_BOL();
|
|
1390
1874
|
|
|
1875
|
+
yyg->yy_state_ptr = yyg->yy_state_buf;
|
|
1876
|
+
*yyg->yy_state_ptr++ = yy_current_state;
|
|
1877
|
+
|
|
1391
1878
|
for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
|
|
1392
1879
|
{
|
|
1393
|
-
|
|
1394
|
-
if ( yy_accept[yy_current_state] )
|
|
1395
|
-
{
|
|
1396
|
-
yyg->yy_last_accepting_state = yy_current_state;
|
|
1397
|
-
yyg->yy_last_accepting_cpos = yy_cp;
|
|
1398
|
-
}
|
|
1880
|
+
YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
|
|
1399
1881
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
1400
1882
|
{
|
|
1401
1883
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
1402
|
-
if ( yy_current_state >=
|
|
1403
|
-
yy_c = yy_meta[
|
|
1884
|
+
if ( yy_current_state >= 210 )
|
|
1885
|
+
yy_c = yy_meta[yy_c];
|
|
1404
1886
|
}
|
|
1405
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
|
1887
|
+
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
1888
|
+
*yyg->yy_state_ptr++ = yy_current_state;
|
|
1406
1889
|
}
|
|
1407
1890
|
|
|
1408
1891
|
return yy_current_state;
|
|
@@ -1415,28 +1898,29 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1415
1898
|
*/
|
|
1416
1899
|
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
|
|
1417
1900
|
{
|
|
1418
|
-
|
|
1901
|
+
int yy_is_jam;
|
|
1419
1902
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
|
|
1420
|
-
register char *yy_cp = yyg->yy_c_buf_p;
|
|
1421
1903
|
|
|
1422
|
-
|
|
1423
|
-
if ( yy_accept[yy_current_state] )
|
|
1424
|
-
{
|
|
1425
|
-
yyg->yy_last_accepting_state = yy_current_state;
|
|
1426
|
-
yyg->yy_last_accepting_cpos = yy_cp;
|
|
1427
|
-
}
|
|
1904
|
+
YY_CHAR yy_c = 1;
|
|
1428
1905
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
1429
1906
|
{
|
|
1430
1907
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
1431
|
-
if ( yy_current_state >=
|
|
1432
|
-
yy_c = yy_meta[
|
|
1908
|
+
if ( yy_current_state >= 210 )
|
|
1909
|
+
yy_c = yy_meta[yy_c];
|
|
1433
1910
|
}
|
|
1434
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
|
1435
|
-
yy_is_jam = (yy_current_state ==
|
|
1911
|
+
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
1912
|
+
yy_is_jam = (yy_current_state == 209);
|
|
1913
|
+
if ( ! yy_is_jam )
|
|
1914
|
+
*yyg->yy_state_ptr++ = yy_current_state;
|
|
1436
1915
|
|
|
1916
|
+
(void)yyg;
|
|
1437
1917
|
return yy_is_jam ? 0 : yy_current_state;
|
|
1438
1918
|
}
|
|
1439
1919
|
|
|
1920
|
+
#ifndef YY_NO_UNPUT
|
|
1921
|
+
|
|
1922
|
+
#endif
|
|
1923
|
+
|
|
1440
1924
|
#ifndef YY_NO_INPUT
|
|
1441
1925
|
#ifdef __cplusplus
|
|
1442
1926
|
static int yyinput (yyscan_t yyscanner)
|
|
@@ -1462,7 +1946,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1462
1946
|
|
|
1463
1947
|
else
|
|
1464
1948
|
{ /* need more input */
|
|
1465
|
-
|
|
1949
|
+
int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
|
|
1466
1950
|
++yyg->yy_c_buf_p;
|
|
1467
1951
|
|
|
1468
1952
|
switch ( yy_get_next_buffer( yyscanner ) )
|
|
@@ -1479,13 +1963,13 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1479
1963
|
*/
|
|
1480
1964
|
|
|
1481
1965
|
/* Reset buffer status. */
|
|
1482
|
-
|
|
1966
|
+
yyrestart( yyin , yyscanner);
|
|
1483
1967
|
|
|
1484
1968
|
/*FALLTHROUGH*/
|
|
1485
1969
|
|
|
1486
1970
|
case EOB_ACT_END_OF_FILE:
|
|
1487
1971
|
{
|
|
1488
|
-
if (
|
|
1972
|
+
if ( yywrap( yyscanner ) )
|
|
1489
1973
|
return 0;
|
|
1490
1974
|
|
|
1491
1975
|
if ( ! yyg->yy_did_buffer_switch_on_eof )
|
|
@@ -1519,34 +2003,34 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1519
2003
|
* @param yyscanner The scanner object.
|
|
1520
2004
|
* @note This function does not reset the start condition to @c INITIAL .
|
|
1521
2005
|
*/
|
|
1522
|
-
void
|
|
2006
|
+
void yyrestart (FILE * input_file , yyscan_t yyscanner)
|
|
1523
2007
|
{
|
|
1524
2008
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1525
2009
|
|
|
1526
2010
|
if ( ! YY_CURRENT_BUFFER ){
|
|
1527
|
-
|
|
2011
|
+
yyensure_buffer_stack (yyscanner);
|
|
1528
2012
|
YY_CURRENT_BUFFER_LVALUE =
|
|
1529
|
-
|
|
2013
|
+
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
|
|
1530
2014
|
}
|
|
1531
2015
|
|
|
1532
|
-
|
|
1533
|
-
|
|
2016
|
+
yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
|
|
2017
|
+
yy_load_buffer_state( yyscanner );
|
|
1534
2018
|
}
|
|
1535
2019
|
|
|
1536
2020
|
/** Switch to a different input buffer.
|
|
1537
2021
|
* @param new_buffer The new input buffer.
|
|
1538
2022
|
* @param yyscanner The scanner object.
|
|
1539
2023
|
*/
|
|
1540
|
-
void
|
|
2024
|
+
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
|
1541
2025
|
{
|
|
1542
2026
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1543
2027
|
|
|
1544
2028
|
/* TODO. We should be able to replace this entire function body
|
|
1545
2029
|
* with
|
|
1546
|
-
*
|
|
1547
|
-
*
|
|
2030
|
+
* yypop_buffer_state();
|
|
2031
|
+
* yypush_buffer_state(new_buffer);
|
|
1548
2032
|
*/
|
|
1549
|
-
|
|
2033
|
+
yyensure_buffer_stack (yyscanner);
|
|
1550
2034
|
if ( YY_CURRENT_BUFFER == new_buffer )
|
|
1551
2035
|
return;
|
|
1552
2036
|
|
|
@@ -1559,17 +2043,17 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
1559
2043
|
}
|
|
1560
2044
|
|
|
1561
2045
|
YY_CURRENT_BUFFER_LVALUE = new_buffer;
|
|
1562
|
-
|
|
2046
|
+
yy_load_buffer_state( yyscanner );
|
|
1563
2047
|
|
|
1564
2048
|
/* We don't actually know whether we did this switch during
|
|
1565
|
-
* EOF (
|
|
1566
|
-
* is looked at is after
|
|
2049
|
+
* EOF (yywrap()) processing, but the only time this flag
|
|
2050
|
+
* is looked at is after yywrap() is called, so it's safe
|
|
1567
2051
|
* to go ahead and always set it.
|
|
1568
2052
|
*/
|
|
1569
2053
|
yyg->yy_did_buffer_switch_on_eof = 1;
|
|
1570
2054
|
}
|
|
1571
2055
|
|
|
1572
|
-
static void
|
|
2056
|
+
static void yy_load_buffer_state (yyscan_t yyscanner)
|
|
1573
2057
|
{
|
|
1574
2058
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1575
2059
|
yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
|
|
@@ -1584,35 +2068,35 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
|
|
|
1584
2068
|
* @param yyscanner The scanner object.
|
|
1585
2069
|
* @return the allocated buffer state.
|
|
1586
2070
|
*/
|
|
1587
|
-
YY_BUFFER_STATE
|
|
2071
|
+
YY_BUFFER_STATE yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
|
|
1588
2072
|
{
|
|
1589
2073
|
YY_BUFFER_STATE b;
|
|
1590
2074
|
|
|
1591
|
-
b = (YY_BUFFER_STATE)
|
|
2075
|
+
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
|
|
1592
2076
|
if ( ! b )
|
|
1593
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
|
2077
|
+
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
|
|
1594
2078
|
|
|
1595
2079
|
b->yy_buf_size = size;
|
|
1596
2080
|
|
|
1597
2081
|
/* yy_ch_buf has to be 2 characters longer than the size given because
|
|
1598
2082
|
* we need to put in 2 end-of-buffer characters.
|
|
1599
2083
|
*/
|
|
1600
|
-
b->yy_ch_buf = (char *)
|
|
2084
|
+
b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
|
|
1601
2085
|
if ( ! b->yy_ch_buf )
|
|
1602
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
|
2086
|
+
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
|
|
1603
2087
|
|
|
1604
2088
|
b->yy_is_our_buffer = 1;
|
|
1605
2089
|
|
|
1606
|
-
|
|
2090
|
+
yy_init_buffer( b, file , yyscanner);
|
|
1607
2091
|
|
|
1608
2092
|
return b;
|
|
1609
2093
|
}
|
|
1610
2094
|
|
|
1611
2095
|
/** Destroy the buffer.
|
|
1612
|
-
* @param b a buffer created with
|
|
2096
|
+
* @param b a buffer created with yy_create_buffer()
|
|
1613
2097
|
* @param yyscanner The scanner object.
|
|
1614
2098
|
*/
|
|
1615
|
-
void
|
|
2099
|
+
void yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
|
|
1616
2100
|
{
|
|
1617
2101
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1618
2102
|
|
|
@@ -1623,28 +2107,28 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
|
|
|
1623
2107
|
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
|
|
1624
2108
|
|
|
1625
2109
|
if ( b->yy_is_our_buffer )
|
|
1626
|
-
|
|
2110
|
+
yyfree( (void *) b->yy_ch_buf , yyscanner );
|
|
1627
2111
|
|
|
1628
|
-
|
|
2112
|
+
yyfree( (void *) b , yyscanner );
|
|
1629
2113
|
}
|
|
1630
2114
|
|
|
1631
2115
|
/* Initializes or reinitializes a buffer.
|
|
1632
2116
|
* This function is sometimes called more than once on the same buffer,
|
|
1633
|
-
* such as during a
|
|
2117
|
+
* such as during a yyrestart() or at EOF.
|
|
1634
2118
|
*/
|
|
1635
|
-
static void
|
|
2119
|
+
static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
|
|
1636
2120
|
|
|
1637
2121
|
{
|
|
1638
2122
|
int oerrno = errno;
|
|
1639
2123
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1640
2124
|
|
|
1641
|
-
|
|
2125
|
+
yy_flush_buffer( b , yyscanner);
|
|
1642
2126
|
|
|
1643
2127
|
b->yy_input_file = file;
|
|
1644
2128
|
b->yy_fill_buffer = 1;
|
|
1645
2129
|
|
|
1646
|
-
/* If b is the current buffer, then
|
|
1647
|
-
* called from
|
|
2130
|
+
/* If b is the current buffer, then yy_init_buffer was _probably_
|
|
2131
|
+
* called from yyrestart() or through yy_get_next_buffer.
|
|
1648
2132
|
* In that case, we don't want to reset the lineno or column.
|
|
1649
2133
|
*/
|
|
1650
2134
|
if (b != YY_CURRENT_BUFFER){
|
|
@@ -1661,7 +2145,7 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
|
|
|
1661
2145
|
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
|
|
1662
2146
|
* @param yyscanner The scanner object.
|
|
1663
2147
|
*/
|
|
1664
|
-
void
|
|
2148
|
+
void yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
|
|
1665
2149
|
{
|
|
1666
2150
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1667
2151
|
if ( ! b )
|
|
@@ -1682,7 +2166,7 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
|
|
|
1682
2166
|
b->yy_buffer_status = YY_BUFFER_NEW;
|
|
1683
2167
|
|
|
1684
2168
|
if ( b == YY_CURRENT_BUFFER )
|
|
1685
|
-
|
|
2169
|
+
yy_load_buffer_state( yyscanner );
|
|
1686
2170
|
}
|
|
1687
2171
|
|
|
1688
2172
|
/** Pushes the new state onto the stack. The new state becomes
|
|
@@ -1691,15 +2175,15 @@ static void linguist_yy_load_buffer_state (yyscan_t yyscanner)
|
|
|
1691
2175
|
* @param new_buffer The new state.
|
|
1692
2176
|
* @param yyscanner The scanner object.
|
|
1693
2177
|
*/
|
|
1694
|
-
void
|
|
2178
|
+
void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
|
1695
2179
|
{
|
|
1696
2180
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1697
2181
|
if (new_buffer == NULL)
|
|
1698
2182
|
return;
|
|
1699
2183
|
|
|
1700
|
-
|
|
2184
|
+
yyensure_buffer_stack(yyscanner);
|
|
1701
2185
|
|
|
1702
|
-
/* This block is copied from
|
|
2186
|
+
/* This block is copied from yy_switch_to_buffer. */
|
|
1703
2187
|
if ( YY_CURRENT_BUFFER )
|
|
1704
2188
|
{
|
|
1705
2189
|
/* Flush out information for old buffer. */
|
|
@@ -1713,8 +2197,8 @@ void linguist_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscann
|
|
|
1713
2197
|
yyg->yy_buffer_stack_top++;
|
|
1714
2198
|
YY_CURRENT_BUFFER_LVALUE = new_buffer;
|
|
1715
2199
|
|
|
1716
|
-
/* copied from
|
|
1717
|
-
|
|
2200
|
+
/* copied from yy_switch_to_buffer. */
|
|
2201
|
+
yy_load_buffer_state( yyscanner );
|
|
1718
2202
|
yyg->yy_did_buffer_switch_on_eof = 1;
|
|
1719
2203
|
}
|
|
1720
2204
|
|
|
@@ -1722,19 +2206,19 @@ void linguist_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscann
|
|
|
1722
2206
|
* The next element becomes the new top.
|
|
1723
2207
|
* @param yyscanner The scanner object.
|
|
1724
2208
|
*/
|
|
1725
|
-
void
|
|
2209
|
+
void yypop_buffer_state (yyscan_t yyscanner)
|
|
1726
2210
|
{
|
|
1727
2211
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1728
2212
|
if (!YY_CURRENT_BUFFER)
|
|
1729
2213
|
return;
|
|
1730
2214
|
|
|
1731
|
-
|
|
2215
|
+
yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
|
|
1732
2216
|
YY_CURRENT_BUFFER_LVALUE = NULL;
|
|
1733
2217
|
if (yyg->yy_buffer_stack_top > 0)
|
|
1734
2218
|
--yyg->yy_buffer_stack_top;
|
|
1735
2219
|
|
|
1736
2220
|
if (YY_CURRENT_BUFFER) {
|
|
1737
|
-
|
|
2221
|
+
yy_load_buffer_state( yyscanner );
|
|
1738
2222
|
yyg->yy_did_buffer_switch_on_eof = 1;
|
|
1739
2223
|
}
|
|
1740
2224
|
}
|
|
@@ -1742,7 +2226,7 @@ void linguist_yypop_buffer_state (yyscan_t yyscanner)
|
|
|
1742
2226
|
/* Allocates the stack if it does not exist.
|
|
1743
2227
|
* Guarantees space for at least one push.
|
|
1744
2228
|
*/
|
|
1745
|
-
static void
|
|
2229
|
+
static void yyensure_buffer_stack (yyscan_t yyscanner)
|
|
1746
2230
|
{
|
|
1747
2231
|
yy_size_t num_to_alloc;
|
|
1748
2232
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
@@ -1753,15 +2237,15 @@ static void linguist_yyensure_buffer_stack (yyscan_t yyscanner)
|
|
|
1753
2237
|
* scanner will even need a stack. We use 2 instead of 1 to avoid an
|
|
1754
2238
|
* immediate realloc on the next call.
|
|
1755
2239
|
*/
|
|
1756
|
-
|
|
1757
|
-
yyg->yy_buffer_stack = (struct yy_buffer_state**)
|
|
2240
|
+
num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
|
|
2241
|
+
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
|
|
1758
2242
|
(num_to_alloc * sizeof(struct yy_buffer_state*)
|
|
1759
2243
|
, yyscanner);
|
|
1760
2244
|
if ( ! yyg->yy_buffer_stack )
|
|
1761
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
|
1762
|
-
|
|
2245
|
+
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
|
|
2246
|
+
|
|
1763
2247
|
memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
|
|
1764
|
-
|
|
2248
|
+
|
|
1765
2249
|
yyg->yy_buffer_stack_max = num_to_alloc;
|
|
1766
2250
|
yyg->yy_buffer_stack_top = 0;
|
|
1767
2251
|
return;
|
|
@@ -1770,15 +2254,15 @@ static void linguist_yyensure_buffer_stack (yyscan_t yyscanner)
|
|
|
1770
2254
|
if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
|
|
1771
2255
|
|
|
1772
2256
|
/* Increase the buffer to prepare for a possible push. */
|
|
1773
|
-
|
|
2257
|
+
yy_size_t grow_size = 8 /* arbitrary grow size */;
|
|
1774
2258
|
|
|
1775
2259
|
num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
|
|
1776
|
-
yyg->yy_buffer_stack = (struct yy_buffer_state**)
|
|
2260
|
+
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
|
|
1777
2261
|
(yyg->yy_buffer_stack,
|
|
1778
2262
|
num_to_alloc * sizeof(struct yy_buffer_state*)
|
|
1779
2263
|
, yyscanner);
|
|
1780
2264
|
if ( ! yyg->yy_buffer_stack )
|
|
1781
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
|
2265
|
+
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
|
|
1782
2266
|
|
|
1783
2267
|
/* zero only the new slots.*/
|
|
1784
2268
|
memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
|
|
@@ -1790,9 +2274,9 @@ static void linguist_yyensure_buffer_stack (yyscan_t yyscanner)
|
|
|
1790
2274
|
* @param base the character buffer
|
|
1791
2275
|
* @param size the size in bytes of the character buffer
|
|
1792
2276
|
* @param yyscanner The scanner object.
|
|
1793
|
-
* @return the newly allocated buffer state object.
|
|
2277
|
+
* @return the newly allocated buffer state object.
|
|
1794
2278
|
*/
|
|
1795
|
-
YY_BUFFER_STATE
|
|
2279
|
+
YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
|
|
1796
2280
|
{
|
|
1797
2281
|
YY_BUFFER_STATE b;
|
|
1798
2282
|
|
|
@@ -1800,68 +2284,69 @@ YY_BUFFER_STATE linguist_yy_scan_buffer (char * base, yy_size_t size , yyscan_
|
|
|
1800
2284
|
base[size-2] != YY_END_OF_BUFFER_CHAR ||
|
|
1801
2285
|
base[size-1] != YY_END_OF_BUFFER_CHAR )
|
|
1802
2286
|
/* They forgot to leave room for the EOB's. */
|
|
1803
|
-
return
|
|
2287
|
+
return NULL;
|
|
1804
2288
|
|
|
1805
|
-
b = (YY_BUFFER_STATE)
|
|
2289
|
+
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
|
|
1806
2290
|
if ( ! b )
|
|
1807
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
|
2291
|
+
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
|
|
1808
2292
|
|
|
1809
|
-
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
|
|
2293
|
+
b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
|
|
1810
2294
|
b->yy_buf_pos = b->yy_ch_buf = base;
|
|
1811
2295
|
b->yy_is_our_buffer = 0;
|
|
1812
|
-
b->yy_input_file =
|
|
2296
|
+
b->yy_input_file = NULL;
|
|
1813
2297
|
b->yy_n_chars = b->yy_buf_size;
|
|
1814
2298
|
b->yy_is_interactive = 0;
|
|
1815
2299
|
b->yy_at_bol = 1;
|
|
1816
2300
|
b->yy_fill_buffer = 0;
|
|
1817
2301
|
b->yy_buffer_status = YY_BUFFER_NEW;
|
|
1818
2302
|
|
|
1819
|
-
|
|
2303
|
+
yy_switch_to_buffer( b , yyscanner );
|
|
1820
2304
|
|
|
1821
2305
|
return b;
|
|
1822
2306
|
}
|
|
1823
2307
|
|
|
1824
|
-
/** Setup the input buffer state to scan a string. The next call to
|
|
2308
|
+
/** Setup the input buffer state to scan a string. The next call to yylex() will
|
|
1825
2309
|
* scan from a @e copy of @a str.
|
|
1826
2310
|
* @param yystr a NUL-terminated string to scan
|
|
1827
2311
|
* @param yyscanner The scanner object.
|
|
1828
2312
|
* @return the newly allocated buffer state object.
|
|
1829
2313
|
* @note If you want to scan bytes that may contain NUL values, then use
|
|
1830
|
-
*
|
|
2314
|
+
* yy_scan_bytes() instead.
|
|
1831
2315
|
*/
|
|
1832
|
-
YY_BUFFER_STATE
|
|
2316
|
+
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
|
|
1833
2317
|
{
|
|
1834
2318
|
|
|
1835
|
-
return
|
|
2319
|
+
return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
|
|
1836
2320
|
}
|
|
1837
2321
|
|
|
1838
|
-
/** Setup the input buffer state to scan the given bytes. The next call to
|
|
2322
|
+
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
|
|
1839
2323
|
* scan from a @e copy of @a bytes.
|
|
1840
|
-
* @param
|
|
1841
|
-
* @param
|
|
2324
|
+
* @param yybytes the byte buffer to scan
|
|
2325
|
+
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
|
|
1842
2326
|
* @param yyscanner The scanner object.
|
|
1843
2327
|
* @return the newly allocated buffer state object.
|
|
1844
2328
|
*/
|
|
1845
|
-
YY_BUFFER_STATE
|
|
2329
|
+
YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len , yyscan_t yyscanner)
|
|
1846
2330
|
{
|
|
1847
2331
|
YY_BUFFER_STATE b;
|
|
1848
2332
|
char *buf;
|
|
1849
|
-
yy_size_t n
|
|
2333
|
+
yy_size_t n;
|
|
2334
|
+
int i;
|
|
1850
2335
|
|
|
1851
2336
|
/* Get memory for full buffer, including space for trailing EOB's. */
|
|
1852
|
-
n = _yybytes_len + 2;
|
|
1853
|
-
buf = (char *)
|
|
2337
|
+
n = (yy_size_t) (_yybytes_len + 2);
|
|
2338
|
+
buf = (char *) yyalloc( n , yyscanner );
|
|
1854
2339
|
if ( ! buf )
|
|
1855
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
|
2340
|
+
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
|
|
1856
2341
|
|
|
1857
2342
|
for ( i = 0; i < _yybytes_len; ++i )
|
|
1858
2343
|
buf[i] = yybytes[i];
|
|
1859
2344
|
|
|
1860
2345
|
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
|
|
1861
2346
|
|
|
1862
|
-
b =
|
|
2347
|
+
b = yy_scan_buffer( buf, n , yyscanner);
|
|
1863
2348
|
if ( ! b )
|
|
1864
|
-
YY_FATAL_ERROR( "bad buffer in
|
|
2349
|
+
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
|
|
1865
2350
|
|
|
1866
2351
|
/* It's okay to grow etc. this buffer, and we should throw it
|
|
1867
2352
|
* away when we're done.
|
|
@@ -1875,9 +2360,11 @@ YY_BUFFER_STATE linguist_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yyb
|
|
|
1875
2360
|
#define YY_EXIT_FAILURE 2
|
|
1876
2361
|
#endif
|
|
1877
2362
|
|
|
1878
|
-
static void yy_fatal_error (
|
|
2363
|
+
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
|
|
1879
2364
|
{
|
|
1880
|
-
|
|
2365
|
+
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2366
|
+
(void)yyg;
|
|
2367
|
+
fprintf( stderr, "%s\n", msg );
|
|
1881
2368
|
exit( YY_EXIT_FAILURE );
|
|
1882
2369
|
}
|
|
1883
2370
|
|
|
@@ -1903,7 +2390,7 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
|
|
|
1903
2390
|
/** Get the user-defined data for this scanner.
|
|
1904
2391
|
* @param yyscanner The scanner object.
|
|
1905
2392
|
*/
|
|
1906
|
-
YY_EXTRA_TYPE
|
|
2393
|
+
YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner)
|
|
1907
2394
|
{
|
|
1908
2395
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1909
2396
|
return yyextra;
|
|
@@ -1912,10 +2399,10 @@ YY_EXTRA_TYPE linguist_yyget_extra (yyscan_t yyscanner)
|
|
|
1912
2399
|
/** Get the current line number.
|
|
1913
2400
|
* @param yyscanner The scanner object.
|
|
1914
2401
|
*/
|
|
1915
|
-
int
|
|
2402
|
+
int yyget_lineno (yyscan_t yyscanner)
|
|
1916
2403
|
{
|
|
1917
2404
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1918
|
-
|
|
2405
|
+
|
|
1919
2406
|
if (! YY_CURRENT_BUFFER)
|
|
1920
2407
|
return 0;
|
|
1921
2408
|
|
|
@@ -1925,10 +2412,10 @@ int linguist_yyget_lineno (yyscan_t yyscanner)
|
|
|
1925
2412
|
/** Get the current column number.
|
|
1926
2413
|
* @param yyscanner The scanner object.
|
|
1927
2414
|
*/
|
|
1928
|
-
int
|
|
2415
|
+
int yyget_column (yyscan_t yyscanner)
|
|
1929
2416
|
{
|
|
1930
2417
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1931
|
-
|
|
2418
|
+
|
|
1932
2419
|
if (! YY_CURRENT_BUFFER)
|
|
1933
2420
|
return 0;
|
|
1934
2421
|
|
|
@@ -1938,7 +2425,7 @@ int linguist_yyget_column (yyscan_t yyscanner)
|
|
|
1938
2425
|
/** Get the input stream.
|
|
1939
2426
|
* @param yyscanner The scanner object.
|
|
1940
2427
|
*/
|
|
1941
|
-
FILE *
|
|
2428
|
+
FILE *yyget_in (yyscan_t yyscanner)
|
|
1942
2429
|
{
|
|
1943
2430
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1944
2431
|
return yyin;
|
|
@@ -1947,7 +2434,7 @@ FILE *linguist_yyget_in (yyscan_t yyscanner)
|
|
|
1947
2434
|
/** Get the output stream.
|
|
1948
2435
|
* @param yyscanner The scanner object.
|
|
1949
2436
|
*/
|
|
1950
|
-
FILE *
|
|
2437
|
+
FILE *yyget_out (yyscan_t yyscanner)
|
|
1951
2438
|
{
|
|
1952
2439
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1953
2440
|
return yyout;
|
|
@@ -1956,7 +2443,7 @@ FILE *linguist_yyget_out (yyscan_t yyscanner)
|
|
|
1956
2443
|
/** Get the length of the current token.
|
|
1957
2444
|
* @param yyscanner The scanner object.
|
|
1958
2445
|
*/
|
|
1959
|
-
|
|
2446
|
+
int yyget_leng (yyscan_t yyscanner)
|
|
1960
2447
|
{
|
|
1961
2448
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1962
2449
|
return yyleng;
|
|
@@ -1966,7 +2453,7 @@ yy_size_t linguist_yyget_leng (yyscan_t yyscanner)
|
|
|
1966
2453
|
* @param yyscanner The scanner object.
|
|
1967
2454
|
*/
|
|
1968
2455
|
|
|
1969
|
-
char *
|
|
2456
|
+
char *yyget_text (yyscan_t yyscanner)
|
|
1970
2457
|
{
|
|
1971
2458
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1972
2459
|
return yytext;
|
|
@@ -1976,90 +2463,88 @@ char *linguist_yyget_text (yyscan_t yyscanner)
|
|
|
1976
2463
|
* @param user_defined The data to be associated with this scanner.
|
|
1977
2464
|
* @param yyscanner The scanner object.
|
|
1978
2465
|
*/
|
|
1979
|
-
void
|
|
2466
|
+
void yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
|
|
1980
2467
|
{
|
|
1981
2468
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1982
2469
|
yyextra = user_defined ;
|
|
1983
2470
|
}
|
|
1984
2471
|
|
|
1985
2472
|
/** Set the current line number.
|
|
1986
|
-
* @param
|
|
2473
|
+
* @param _line_number line number
|
|
1987
2474
|
* @param yyscanner The scanner object.
|
|
1988
2475
|
*/
|
|
1989
|
-
void
|
|
2476
|
+
void yyset_lineno (int _line_number , yyscan_t yyscanner)
|
|
1990
2477
|
{
|
|
1991
2478
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
1992
2479
|
|
|
1993
2480
|
/* lineno is only valid if an input buffer exists. */
|
|
1994
2481
|
if (! YY_CURRENT_BUFFER )
|
|
1995
|
-
|
|
2482
|
+
YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
|
|
1996
2483
|
|
|
1997
|
-
yylineno =
|
|
2484
|
+
yylineno = _line_number;
|
|
1998
2485
|
}
|
|
1999
2486
|
|
|
2000
2487
|
/** Set the current column.
|
|
2001
|
-
* @param
|
|
2488
|
+
* @param _column_no column number
|
|
2002
2489
|
* @param yyscanner The scanner object.
|
|
2003
2490
|
*/
|
|
2004
|
-
void
|
|
2491
|
+
void yyset_column (int _column_no , yyscan_t yyscanner)
|
|
2005
2492
|
{
|
|
2006
2493
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2007
2494
|
|
|
2008
2495
|
/* column is only valid if an input buffer exists. */
|
|
2009
2496
|
if (! YY_CURRENT_BUFFER )
|
|
2010
|
-
|
|
2497
|
+
YY_FATAL_ERROR( "yyset_column called with no buffer" );
|
|
2011
2498
|
|
|
2012
|
-
yycolumn =
|
|
2499
|
+
yycolumn = _column_no;
|
|
2013
2500
|
}
|
|
2014
2501
|
|
|
2015
2502
|
/** Set the input stream. This does not discard the current
|
|
2016
2503
|
* input buffer.
|
|
2017
|
-
* @param
|
|
2504
|
+
* @param _in_str A readable stream.
|
|
2018
2505
|
* @param yyscanner The scanner object.
|
|
2019
|
-
* @see
|
|
2506
|
+
* @see yy_switch_to_buffer
|
|
2020
2507
|
*/
|
|
2021
|
-
void
|
|
2508
|
+
void yyset_in (FILE * _in_str , yyscan_t yyscanner)
|
|
2022
2509
|
{
|
|
2023
2510
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2024
|
-
yyin =
|
|
2511
|
+
yyin = _in_str ;
|
|
2025
2512
|
}
|
|
2026
2513
|
|
|
2027
|
-
void
|
|
2514
|
+
void yyset_out (FILE * _out_str , yyscan_t yyscanner)
|
|
2028
2515
|
{
|
|
2029
2516
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2030
|
-
yyout =
|
|
2517
|
+
yyout = _out_str ;
|
|
2031
2518
|
}
|
|
2032
2519
|
|
|
2033
|
-
int
|
|
2520
|
+
int yyget_debug (yyscan_t yyscanner)
|
|
2034
2521
|
{
|
|
2035
2522
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2036
2523
|
return yy_flex_debug;
|
|
2037
2524
|
}
|
|
2038
2525
|
|
|
2039
|
-
void
|
|
2526
|
+
void yyset_debug (int _bdebug , yyscan_t yyscanner)
|
|
2040
2527
|
{
|
|
2041
2528
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2042
|
-
yy_flex_debug =
|
|
2529
|
+
yy_flex_debug = _bdebug ;
|
|
2043
2530
|
}
|
|
2044
2531
|
|
|
2045
2532
|
/* Accessor methods for yylval and yylloc */
|
|
2046
2533
|
|
|
2047
2534
|
/* User-visible API */
|
|
2048
2535
|
|
|
2049
|
-
/*
|
|
2536
|
+
/* yylex_init is special because it creates the scanner itself, so it is
|
|
2050
2537
|
* the ONLY reentrant function that doesn't take the scanner as the last argument.
|
|
2051
2538
|
* That's why we explicitly handle the declaration, instead of using our macros.
|
|
2052
2539
|
*/
|
|
2053
|
-
|
|
2054
|
-
int linguist_yylex_init(yyscan_t* ptr_yy_globals)
|
|
2055
|
-
|
|
2540
|
+
int yylex_init(yyscan_t* ptr_yy_globals)
|
|
2056
2541
|
{
|
|
2057
2542
|
if (ptr_yy_globals == NULL){
|
|
2058
2543
|
errno = EINVAL;
|
|
2059
2544
|
return 1;
|
|
2060
2545
|
}
|
|
2061
2546
|
|
|
2062
|
-
*ptr_yy_globals = (yyscan_t)
|
|
2547
|
+
*ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
|
|
2063
2548
|
|
|
2064
2549
|
if (*ptr_yy_globals == NULL){
|
|
2065
2550
|
errno = ENOMEM;
|
|
@@ -2072,39 +2557,37 @@ int linguist_yylex_init(yyscan_t* ptr_yy_globals)
|
|
|
2072
2557
|
return yy_init_globals ( *ptr_yy_globals );
|
|
2073
2558
|
}
|
|
2074
2559
|
|
|
2075
|
-
/*
|
|
2560
|
+
/* yylex_init_extra has the same functionality as yylex_init, but follows the
|
|
2076
2561
|
* convention of taking the scanner as the last argument. Note however, that
|
|
2077
2562
|
* this is a *pointer* to a scanner, as it will be allocated by this call (and
|
|
2078
2563
|
* is the reason, too, why this function also must handle its own declaration).
|
|
2079
|
-
* The user defined value in the first argument will be available to
|
|
2564
|
+
* The user defined value in the first argument will be available to yyalloc in
|
|
2080
2565
|
* the yyextra field.
|
|
2081
2566
|
*/
|
|
2082
|
-
|
|
2083
|
-
int linguist_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
|
|
2084
|
-
|
|
2567
|
+
int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
|
|
2085
2568
|
{
|
|
2086
2569
|
struct yyguts_t dummy_yyguts;
|
|
2087
2570
|
|
|
2088
|
-
|
|
2571
|
+
yyset_extra (yy_user_defined, &dummy_yyguts);
|
|
2089
2572
|
|
|
2090
2573
|
if (ptr_yy_globals == NULL){
|
|
2091
2574
|
errno = EINVAL;
|
|
2092
2575
|
return 1;
|
|
2093
2576
|
}
|
|
2094
|
-
|
|
2095
|
-
*ptr_yy_globals = (yyscan_t)
|
|
2096
|
-
|
|
2577
|
+
|
|
2578
|
+
*ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
|
|
2579
|
+
|
|
2097
2580
|
if (*ptr_yy_globals == NULL){
|
|
2098
2581
|
errno = ENOMEM;
|
|
2099
2582
|
return 1;
|
|
2100
2583
|
}
|
|
2101
|
-
|
|
2584
|
+
|
|
2102
2585
|
/* By setting to 0xAA, we expose bugs in
|
|
2103
2586
|
yy_init_globals. Leave at 0x00 for releases. */
|
|
2104
2587
|
memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2588
|
+
|
|
2589
|
+
yyset_extra (yy_user_defined, *ptr_yy_globals);
|
|
2590
|
+
|
|
2108
2591
|
return yy_init_globals ( *ptr_yy_globals );
|
|
2109
2592
|
}
|
|
2110
2593
|
|
|
@@ -2112,13 +2595,13 @@ static int yy_init_globals (yyscan_t yyscanner)
|
|
|
2112
2595
|
{
|
|
2113
2596
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2114
2597
|
/* Initialization is the same as for the non-reentrant scanner.
|
|
2115
|
-
* This function is called from
|
|
2598
|
+
* This function is called from yylex_destroy(), so don't allocate here.
|
|
2116
2599
|
*/
|
|
2117
2600
|
|
|
2118
|
-
yyg->yy_buffer_stack =
|
|
2601
|
+
yyg->yy_buffer_stack = NULL;
|
|
2119
2602
|
yyg->yy_buffer_stack_top = 0;
|
|
2120
2603
|
yyg->yy_buffer_stack_max = 0;
|
|
2121
|
-
yyg->yy_c_buf_p =
|
|
2604
|
+
yyg->yy_c_buf_p = NULL;
|
|
2122
2605
|
yyg->yy_init = 0;
|
|
2123
2606
|
yyg->yy_start = 0;
|
|
2124
2607
|
|
|
@@ -2126,47 +2609,55 @@ static int yy_init_globals (yyscan_t yyscanner)
|
|
|
2126
2609
|
yyg->yy_start_stack_depth = 0;
|
|
2127
2610
|
yyg->yy_start_stack = NULL;
|
|
2128
2611
|
|
|
2612
|
+
yyg->yy_state_buf = 0;
|
|
2613
|
+
yyg->yy_state_ptr = 0;
|
|
2614
|
+
yyg->yy_full_match = 0;
|
|
2615
|
+
yyg->yy_lp = 0;
|
|
2616
|
+
|
|
2129
2617
|
/* Defined in main.c */
|
|
2130
2618
|
#ifdef YY_STDINIT
|
|
2131
2619
|
yyin = stdin;
|
|
2132
2620
|
yyout = stdout;
|
|
2133
2621
|
#else
|
|
2134
|
-
yyin =
|
|
2135
|
-
yyout =
|
|
2622
|
+
yyin = NULL;
|
|
2623
|
+
yyout = NULL;
|
|
2136
2624
|
#endif
|
|
2137
2625
|
|
|
2138
2626
|
/* For future reference: Set errno on error, since we are called by
|
|
2139
|
-
*
|
|
2627
|
+
* yylex_init()
|
|
2140
2628
|
*/
|
|
2141
2629
|
return 0;
|
|
2142
2630
|
}
|
|
2143
2631
|
|
|
2144
|
-
/*
|
|
2145
|
-
int
|
|
2632
|
+
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
|
|
2633
|
+
int yylex_destroy (yyscan_t yyscanner)
|
|
2146
2634
|
{
|
|
2147
2635
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2148
2636
|
|
|
2149
2637
|
/* Pop the buffer stack, destroying each element. */
|
|
2150
2638
|
while(YY_CURRENT_BUFFER){
|
|
2151
|
-
|
|
2639
|
+
yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
|
|
2152
2640
|
YY_CURRENT_BUFFER_LVALUE = NULL;
|
|
2153
|
-
|
|
2641
|
+
yypop_buffer_state(yyscanner);
|
|
2154
2642
|
}
|
|
2155
2643
|
|
|
2156
2644
|
/* Destroy the stack itself. */
|
|
2157
|
-
|
|
2645
|
+
yyfree(yyg->yy_buffer_stack , yyscanner);
|
|
2158
2646
|
yyg->yy_buffer_stack = NULL;
|
|
2159
2647
|
|
|
2160
2648
|
/* Destroy the start condition stack. */
|
|
2161
|
-
|
|
2649
|
+
yyfree( yyg->yy_start_stack , yyscanner );
|
|
2162
2650
|
yyg->yy_start_stack = NULL;
|
|
2163
2651
|
|
|
2652
|
+
yyfree ( yyg->yy_state_buf , yyscanner);
|
|
2653
|
+
yyg->yy_state_buf = NULL;
|
|
2654
|
+
|
|
2164
2655
|
/* Reset the globals. This is important in a non-reentrant scanner so the next time
|
|
2165
|
-
*
|
|
2656
|
+
* yylex() is called, initialization will occur. */
|
|
2166
2657
|
yy_init_globals( yyscanner);
|
|
2167
2658
|
|
|
2168
2659
|
/* Destroy the main struct (reentrant only). */
|
|
2169
|
-
|
|
2660
|
+
yyfree ( yyscanner , yyscanner );
|
|
2170
2661
|
yyscanner = NULL;
|
|
2171
2662
|
return 0;
|
|
2172
2663
|
}
|
|
@@ -2176,18 +2667,21 @@ int linguist_yylex_destroy (yyscan_t yyscanner)
|
|
|
2176
2667
|
*/
|
|
2177
2668
|
|
|
2178
2669
|
#ifndef yytext_ptr
|
|
2179
|
-
static void yy_flex_strncpy (char* s1,
|
|
2670
|
+
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
|
|
2180
2671
|
{
|
|
2181
|
-
|
|
2672
|
+
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2673
|
+
(void)yyg;
|
|
2674
|
+
|
|
2675
|
+
int i;
|
|
2182
2676
|
for ( i = 0; i < n; ++i )
|
|
2183
2677
|
s1[i] = s2[i];
|
|
2184
2678
|
}
|
|
2185
2679
|
#endif
|
|
2186
2680
|
|
|
2187
2681
|
#ifdef YY_NEED_STRLEN
|
|
2188
|
-
static int yy_flex_strlen (
|
|
2682
|
+
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
|
|
2189
2683
|
{
|
|
2190
|
-
|
|
2684
|
+
int n;
|
|
2191
2685
|
for ( n = 0; s[n]; ++n )
|
|
2192
2686
|
;
|
|
2193
2687
|
|
|
@@ -2195,13 +2689,18 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
|
|
|
2195
2689
|
}
|
|
2196
2690
|
#endif
|
|
2197
2691
|
|
|
2198
|
-
void *
|
|
2692
|
+
void *yyalloc (yy_size_t size , yyscan_t yyscanner)
|
|
2199
2693
|
{
|
|
2200
|
-
|
|
2694
|
+
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2695
|
+
(void)yyg;
|
|
2696
|
+
return malloc(size);
|
|
2201
2697
|
}
|
|
2202
2698
|
|
|
2203
|
-
void *
|
|
2699
|
+
void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
|
|
2204
2700
|
{
|
|
2701
|
+
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2702
|
+
(void)yyg;
|
|
2703
|
+
|
|
2205
2704
|
/* The cast to (char *) in the following accommodates both
|
|
2206
2705
|
* implementations that use char* generic pointers, and those
|
|
2207
2706
|
* that use void* generic pointers. It works with the latter
|
|
@@ -2209,18 +2708,19 @@ void *linguist_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
|
|
|
2209
2708
|
* any pointer type to void*, and deal with argument conversions
|
|
2210
2709
|
* as though doing an assignment.
|
|
2211
2710
|
*/
|
|
2212
|
-
return
|
|
2711
|
+
return realloc(ptr, size);
|
|
2213
2712
|
}
|
|
2214
2713
|
|
|
2215
|
-
void
|
|
2714
|
+
void yyfree (void * ptr , yyscan_t yyscanner)
|
|
2216
2715
|
{
|
|
2217
|
-
|
|
2716
|
+
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
|
2717
|
+
(void)yyg;
|
|
2718
|
+
free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
|
|
2218
2719
|
}
|
|
2219
2720
|
|
|
2220
2721
|
#define YYTABLES_NAME "yytables"
|
|
2221
2722
|
|
|
2222
|
-
#line
|
|
2223
|
-
|
|
2723
|
+
#line 136 "tokenizer.l"
|
|
2224
2724
|
|
|
2225
2725
|
|
|
2226
2726
|
|