telegraf/plugins/parsers/influx/machine.go

3456 lines
58 KiB
Go

//line plugins/parsers/influx/machine.go.rl:1
package influx
import (
"errors"
"io"
)
type readErr struct {
Err error
}
func (e *readErr) Error() string {
return e.Err.Error()
}
var (
ErrNameParse = errors.New("expected measurement name")
ErrFieldParse = errors.New("expected field")
ErrTagParse = errors.New("expected tag")
ErrTimestampParse = errors.New("expected timestamp")
ErrParse = errors.New("parse error")
EOF = errors.New("EOF")
)
//line plugins/parsers/influx/machine.go.rl:318
//line plugins/parsers/influx/machine.go:33
const LineProtocol_start int = 46
const LineProtocol_first_final int = 46
const LineProtocol_error int = 0
const LineProtocol_en_main int = 46
const LineProtocol_en_discard_line int = 34
const LineProtocol_en_align int = 85
const LineProtocol_en_series int = 37
//line plugins/parsers/influx/machine.go.rl:321
type Handler interface {
SetMeasurement(name []byte) error
AddTag(key []byte, value []byte) error
AddInt(key []byte, value []byte) error
AddUint(key []byte, value []byte) error
AddFloat(key []byte, value []byte) error
AddString(key []byte, value []byte) error
AddBool(key []byte, value []byte) error
SetTimestamp(tm []byte) error
}
type machine struct {
data []byte
cs int
p, pe, eof int
pb int
lineno int
sol int
handler Handler
initState int
key []byte
beginMetric bool
finishMetric bool
}
func NewMachine(handler Handler) *machine {
m := &machine{
handler: handler,
initState: LineProtocol_en_align,
}
//line plugins/parsers/influx/machine.go.rl:354
//line plugins/parsers/influx/machine.go.rl:355
//line plugins/parsers/influx/machine.go.rl:356
//line plugins/parsers/influx/machine.go.rl:357
//line plugins/parsers/influx/machine.go.rl:358
//line plugins/parsers/influx/machine.go.rl:359
//line plugins/parsers/influx/machine.go:90
{
( m.cs) = LineProtocol_start
}
//line plugins/parsers/influx/machine.go.rl:360
return m
}
func NewSeriesMachine(handler Handler) *machine {
m := &machine{
handler: handler,
initState: LineProtocol_en_series,
}
//line plugins/parsers/influx/machine.go.rl:371
//line plugins/parsers/influx/machine.go.rl:372
//line plugins/parsers/influx/machine.go.rl:373
//line plugins/parsers/influx/machine.go.rl:374
//line plugins/parsers/influx/machine.go.rl:375
//line plugins/parsers/influx/machine.go:117
{
( m.cs) = LineProtocol_start
}
//line plugins/parsers/influx/machine.go.rl:376
return m
}
func (m *machine) SetData(data []byte) {
m.data = data
m.p = 0
m.pb = 0
m.lineno = 1
m.sol = 0
m.pe = len(data)
m.eof = len(data)
m.key = nil
m.beginMetric = false
m.finishMetric = false
//line plugins/parsers/influx/machine.go:140
{
( m.cs) = LineProtocol_start
}
//line plugins/parsers/influx/machine.go.rl:393
m.cs = m.initState
}
// Next parses the next metric line and returns nil if it was successfully
// processed. If the line contains a syntax error an error is returned,
// otherwise if the end of file is reached before finding a metric line then
// EOF is returned.
func (m *machine) Next() error {
if m.p == m.pe && m.pe == m.eof {
return EOF
}
m.key = nil
m.beginMetric = false
m.finishMetric = false
return m.exec()
}
func (m *machine) exec() error {
var err error
//line plugins/parsers/influx/machine.go:168
{
if ( m.p) == ( m.pe) {
goto _test_eof
}
goto _resume
_again:
switch ( m.cs) {
case 46:
goto st46
case 1:
goto st1
case 2:
goto st2
case 3:
goto st3
case 0:
goto st0
case 4:
goto st4
case 5:
goto st5
case 6:
goto st6
case 47:
goto st47
case 48:
goto st48
case 49:
goto st49
case 7:
goto st7
case 8:
goto st8
case 9:
goto st9
case 10:
goto st10
case 50:
goto st50
case 51:
goto st51
case 52:
goto st52
case 53:
goto st53
case 54:
goto st54
case 55:
goto st55
case 56:
goto st56
case 57:
goto st57
case 58:
goto st58
case 59:
goto st59
case 60:
goto st60
case 61:
goto st61
case 62:
goto st62
case 63:
goto st63
case 64:
goto st64
case 65:
goto st65
case 66:
goto st66
case 67:
goto st67
case 68:
goto st68
case 69:
goto st69
case 11:
goto st11
case 12:
goto st12
case 13:
goto st13
case 14:
goto st14
case 15:
goto st15
case 70:
goto st70
case 16:
goto st16
case 17:
goto st17
case 71:
goto st71
case 72:
goto st72
case 73:
goto st73
case 74:
goto st74
case 75:
goto st75
case 76:
goto st76
case 77:
goto st77
case 78:
goto st78
case 79:
goto st79
case 18:
goto st18
case 19:
goto st19
case 20:
goto st20
case 80:
goto st80
case 21:
goto st21
case 22:
goto st22
case 23:
goto st23
case 81:
goto st81
case 24:
goto st24
case 25:
goto st25
case 82:
goto st82
case 83:
goto st83
case 26:
goto st26
case 27:
goto st27
case 28:
goto st28
case 29:
goto st29
case 30:
goto st30
case 31:
goto st31
case 32:
goto st32
case 33:
goto st33
case 34:
goto st34
case 84:
goto st84
case 37:
goto st37
case 86:
goto st86
case 87:
goto st87
case 38:
goto st38
case 39:
goto st39
case 40:
goto st40
case 41:
goto st41
case 88:
goto st88
case 42:
goto st42
case 89:
goto st89
case 43:
goto st43
case 44:
goto st44
case 45:
goto st45
case 85:
goto st85
case 35:
goto st35
case 36:
goto st36
}
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof
}
_resume:
switch ( m.cs) {
case 46:
goto st_case_46
case 1:
goto st_case_1
case 2:
goto st_case_2
case 3:
goto st_case_3
case 0:
goto st_case_0
case 4:
goto st_case_4
case 5:
goto st_case_5
case 6:
goto st_case_6
case 47:
goto st_case_47
case 48:
goto st_case_48
case 49:
goto st_case_49
case 7:
goto st_case_7
case 8:
goto st_case_8
case 9:
goto st_case_9
case 10:
goto st_case_10
case 50:
goto st_case_50
case 51:
goto st_case_51
case 52:
goto st_case_52
case 53:
goto st_case_53
case 54:
goto st_case_54
case 55:
goto st_case_55
case 56:
goto st_case_56
case 57:
goto st_case_57
case 58:
goto st_case_58
case 59:
goto st_case_59
case 60:
goto st_case_60
case 61:
goto st_case_61
case 62:
goto st_case_62
case 63:
goto st_case_63
case 64:
goto st_case_64
case 65:
goto st_case_65
case 66:
goto st_case_66
case 67:
goto st_case_67
case 68:
goto st_case_68
case 69:
goto st_case_69
case 11:
goto st_case_11
case 12:
goto st_case_12
case 13:
goto st_case_13
case 14:
goto st_case_14
case 15:
goto st_case_15
case 70:
goto st_case_70
case 16:
goto st_case_16
case 17:
goto st_case_17
case 71:
goto st_case_71
case 72:
goto st_case_72
case 73:
goto st_case_73
case 74:
goto st_case_74
case 75:
goto st_case_75
case 76:
goto st_case_76
case 77:
goto st_case_77
case 78:
goto st_case_78
case 79:
goto st_case_79
case 18:
goto st_case_18
case 19:
goto st_case_19
case 20:
goto st_case_20
case 80:
goto st_case_80
case 21:
goto st_case_21
case 22:
goto st_case_22
case 23:
goto st_case_23
case 81:
goto st_case_81
case 24:
goto st_case_24
case 25:
goto st_case_25
case 82:
goto st_case_82
case 83:
goto st_case_83
case 26:
goto st_case_26
case 27:
goto st_case_27
case 28:
goto st_case_28
case 29:
goto st_case_29
case 30:
goto st_case_30
case 31:
goto st_case_31
case 32:
goto st_case_32
case 33:
goto st_case_33
case 34:
goto st_case_34
case 84:
goto st_case_84
case 37:
goto st_case_37
case 86:
goto st_case_86
case 87:
goto st_case_87
case 38:
goto st_case_38
case 39:
goto st_case_39
case 40:
goto st_case_40
case 41:
goto st_case_41
case 88:
goto st_case_88
case 42:
goto st_case_42
case 89:
goto st_case_89
case 43:
goto st_case_43
case 44:
goto st_case_44
case 45:
goto st_case_45
case 85:
goto st_case_85
case 35:
goto st_case_35
case 36:
goto st_case_36
}
goto st_out
st46:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof46
}
st_case_46:
switch ( m.data)[( m.p)] {
case 10:
goto tr31
case 13:
goto tr31
case 32:
goto tr80
case 35:
goto tr31
case 44:
goto tr31
case 92:
goto tr81
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr80
}
goto tr79
tr29:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st1
tr79:
//line plugins/parsers/influx/machine.go.rl:82
m.beginMetric = true
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st1
st1:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof1
}
st_case_1:
//line plugins/parsers/influx/machine.go:590
switch ( m.data)[( m.p)] {
case 10:
goto tr2
case 13:
goto tr2
case 32:
goto tr1
case 44:
goto tr3
case 92:
goto st8
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr1
}
goto st1
tr1:
( m.cs) = 2
//line plugins/parsers/influx/machine.go.rl:86
err = m.handler.SetMeasurement(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr56:
( m.cs) = 2
//line plugins/parsers/influx/machine.go.rl:99
err = m.handler.AddTag(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st2:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof2
}
st_case_2:
//line plugins/parsers/influx/machine.go:638
switch ( m.data)[( m.p)] {
case 10:
goto tr7
case 13:
goto tr7
case 32:
goto st2
case 44:
goto tr7
case 61:
goto tr7
case 92:
goto tr8
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto st2
}
goto tr5
tr5:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st3
st3:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof3
}
st_case_3:
//line plugins/parsers/influx/machine.go:668
switch ( m.data)[( m.p)] {
case 32:
goto tr7
case 44:
goto tr7
case 61:
goto tr10
case 92:
goto st12
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr7
}
goto st3
tr2:
( m.cs) = 0
//line plugins/parsers/influx/machine.go.rl:46
err = ErrTagParse
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
goto _again
tr7:
( m.cs) = 0
//line plugins/parsers/influx/machine.go.rl:39
err = ErrFieldParse
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
goto _again
tr31:
( m.cs) = 0
//line plugins/parsers/influx/machine.go.rl:32
err = ErrNameParse
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
goto _again
tr35:
( m.cs) = 0
//line plugins/parsers/influx/machine.go.rl:53
err = ErrTimestampParse
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
goto _again
tr82:
( m.cs) = 0
//line plugins/parsers/influx/machine.go.rl:39
err = ErrFieldParse
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
//line plugins/parsers/influx/machine.go.rl:53
err = ErrTimestampParse
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
goto _again
tr135:
//line plugins/parsers/influx/machine.go.rl:73
( m.p)--
{goto st46 }
goto st0
//line plugins/parsers/influx/machine.go:754
st_case_0:
st0:
( m.cs) = 0
goto _out
tr10:
//line plugins/parsers/influx/machine.go.rl:108
m.key = m.text()
goto st4
st4:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof4
}
st_case_4:
//line plugins/parsers/influx/machine.go:770
switch ( m.data)[( m.p)] {
case 34:
goto st5
case 45:
goto tr13
case 46:
goto tr14
case 48:
goto tr15
case 70:
goto tr17
case 84:
goto tr18
case 102:
goto tr19
case 116:
goto tr20
}
if 49 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto tr16
}
goto tr7
st5:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof5
}
st_case_5:
switch ( m.data)[( m.p)] {
case 10:
goto tr22
case 34:
goto tr23
case 92:
goto tr24
}
goto tr21
tr21:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st6
tr22:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto st6
tr26:
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto st6
st6:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof6
}
st_case_6:
//line plugins/parsers/influx/machine.go:838
switch ( m.data)[( m.p)] {
case 10:
goto tr26
case 34:
goto tr27
case 92:
goto st13
}
goto st6
tr23:
( m.cs) = 47
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
//line plugins/parsers/influx/machine.go.rl:148
err = m.handler.AddString(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr27:
( m.cs) = 47
//line plugins/parsers/influx/machine.go.rl:148
err = m.handler.AddString(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st47:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof47
}
st_case_47:
//line plugins/parsers/influx/machine.go:883
switch ( m.data)[( m.p)] {
case 10:
goto tr34
case 13:
goto st9
case 32:
goto st48
case 44:
goto st11
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto st48
}
goto tr82
tr110:
( m.cs) = 48
//line plugins/parsers/influx/machine.go.rl:130
err = m.handler.AddFloat(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr117:
( m.cs) = 48
//line plugins/parsers/influx/machine.go.rl:112
err = m.handler.AddInt(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr122:
( m.cs) = 48
//line plugins/parsers/influx/machine.go.rl:121
err = m.handler.AddUint(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr127:
( m.cs) = 48
//line plugins/parsers/influx/machine.go.rl:139
err = m.handler.AddBool(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st48:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof48
}
st_case_48:
//line plugins/parsers/influx/machine.go:955
switch ( m.data)[( m.p)] {
case 10:
goto tr34
case 13:
goto st9
case 32:
goto st48
case 45:
goto tr86
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto tr87
}
case ( m.data)[( m.p)] >= 9:
goto st48
}
goto tr35
tr34:
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto st49
tr89:
( m.cs) = 49
//line plugins/parsers/influx/machine.go.rl:157
err = m.handler.SetTimestamp(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto _again
tr111:
( m.cs) = 49
//line plugins/parsers/influx/machine.go.rl:130
err = m.handler.AddFloat(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto _again
tr118:
( m.cs) = 49
//line plugins/parsers/influx/machine.go.rl:112
err = m.handler.AddInt(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto _again
tr123:
( m.cs) = 49
//line plugins/parsers/influx/machine.go.rl:121
err = m.handler.AddUint(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto _again
tr128:
( m.cs) = 49
//line plugins/parsers/influx/machine.go.rl:139
err = m.handler.AddBool(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto _again
st49:
//line plugins/parsers/influx/machine.go.rl:172
m.finishMetric = true
( m.cs) = 85;
{( m.p)++; goto _out }
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof49
}
st_case_49:
//line plugins/parsers/influx/machine.go:1089
switch ( m.data)[( m.p)] {
case 10:
goto tr31
case 13:
goto tr31
case 32:
goto st7
case 35:
goto tr31
case 44:
goto tr31
case 92:
goto tr32
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto st7
}
goto tr29
tr80:
//line plugins/parsers/influx/machine.go.rl:82
m.beginMetric = true
goto st7
st7:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof7
}
st_case_7:
//line plugins/parsers/influx/machine.go:1119
switch ( m.data)[( m.p)] {
case 10:
goto tr31
case 13:
goto tr31
case 32:
goto st7
case 35:
goto tr31
case 44:
goto tr31
case 92:
goto tr32
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto st7
}
goto tr29
tr32:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st8
tr81:
//line plugins/parsers/influx/machine.go.rl:82
m.beginMetric = true
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st8
st8:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof8
}
st_case_8:
//line plugins/parsers/influx/machine.go:1159
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto st0
}
goto st1
tr90:
( m.cs) = 9
//line plugins/parsers/influx/machine.go.rl:157
err = m.handler.SetTimestamp(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr112:
( m.cs) = 9
//line plugins/parsers/influx/machine.go.rl:130
err = m.handler.AddFloat(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr119:
( m.cs) = 9
//line plugins/parsers/influx/machine.go.rl:112
err = m.handler.AddInt(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr124:
( m.cs) = 9
//line plugins/parsers/influx/machine.go.rl:121
err = m.handler.AddUint(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr129:
( m.cs) = 9
//line plugins/parsers/influx/machine.go.rl:139
err = m.handler.AddBool(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st9:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof9
}
st_case_9:
//line plugins/parsers/influx/machine.go:1234
if ( m.data)[( m.p)] == 10 {
goto tr34
}
goto st0
tr86:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st10
st10:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof10
}
st_case_10:
//line plugins/parsers/influx/machine.go:1250
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st50
}
goto tr35
tr87:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st50
st50:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof50
}
st_case_50:
//line plugins/parsers/influx/machine.go:1266
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st52
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
tr88:
( m.cs) = 51
//line plugins/parsers/influx/machine.go.rl:157
err = m.handler.SetTimestamp(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st51:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof51
}
st_case_51:
//line plugins/parsers/influx/machine.go:1302
switch ( m.data)[( m.p)] {
case 10:
goto tr34
case 13:
goto st9
case 32:
goto st51
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto st51
}
goto st0
st52:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof52
}
st_case_52:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st53
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st53:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof53
}
st_case_53:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st54
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st54:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof54
}
st_case_54:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st55
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st55:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof55
}
st_case_55:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st56
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st56:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof56
}
st_case_56:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st57
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st57:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof57
}
st_case_57:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st58
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st58:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof58
}
st_case_58:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st59
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st59:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof59
}
st_case_59:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st60
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st60:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof60
}
st_case_60:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st61
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st61:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof61
}
st_case_61:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st62
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st62:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof62
}
st_case_62:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st63
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st63:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof63
}
st_case_63:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st64
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st64:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof64
}
st_case_64:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st65
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st65:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof65
}
st_case_65:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st66
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st66:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof66
}
st_case_66:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st67
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st67:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof67
}
st_case_67:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st68
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st68:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof68
}
st_case_68:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st69
}
case ( m.data)[( m.p)] >= 9:
goto tr88
}
goto tr35
st69:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof69
}
st_case_69:
switch ( m.data)[( m.p)] {
case 10:
goto tr89
case 13:
goto tr90
case 32:
goto tr88
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr88
}
goto tr35
tr113:
( m.cs) = 11
//line plugins/parsers/influx/machine.go.rl:130
err = m.handler.AddFloat(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr120:
( m.cs) = 11
//line plugins/parsers/influx/machine.go.rl:112
err = m.handler.AddInt(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr125:
( m.cs) = 11
//line plugins/parsers/influx/machine.go.rl:121
err = m.handler.AddUint(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr130:
( m.cs) = 11
//line plugins/parsers/influx/machine.go.rl:139
err = m.handler.AddBool(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st11:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof11
}
st_case_11:
//line plugins/parsers/influx/machine.go:1763
switch ( m.data)[( m.p)] {
case 32:
goto tr7
case 44:
goto tr7
case 61:
goto tr7
case 92:
goto tr8
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr7
}
goto tr5
tr8:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st12
st12:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof12
}
st_case_12:
//line plugins/parsers/influx/machine.go:1789
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr7
}
goto st3
tr24:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st13
st13:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof13
}
st_case_13:
//line plugins/parsers/influx/machine.go:1805
switch ( m.data)[( m.p)] {
case 34:
goto st6
case 92:
goto st6
}
goto tr7
tr13:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st14
st14:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof14
}
st_case_14:
//line plugins/parsers/influx/machine.go:1824
switch ( m.data)[( m.p)] {
case 46:
goto st15
case 48:
goto st72
}
if 49 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st75
}
goto tr7
tr14:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st15
st15:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof15
}
st_case_15:
//line plugins/parsers/influx/machine.go:1846
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st70
}
goto tr7
st70:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof70
}
st_case_70:
switch ( m.data)[( m.p)] {
case 10:
goto tr111
case 13:
goto tr112
case 32:
goto tr110
case 44:
goto tr113
case 69:
goto st16
case 101:
goto st16
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st70
}
case ( m.data)[( m.p)] >= 9:
goto tr110
}
goto tr82
st16:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof16
}
st_case_16:
switch ( m.data)[( m.p)] {
case 34:
goto st17
case 43:
goto st17
case 45:
goto st17
}
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st71
}
goto tr7
st17:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof17
}
st_case_17:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st71
}
goto tr7
st71:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof71
}
st_case_71:
switch ( m.data)[( m.p)] {
case 10:
goto tr111
case 13:
goto tr112
case 32:
goto tr110
case 44:
goto tr113
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st71
}
case ( m.data)[( m.p)] >= 9:
goto tr110
}
goto tr82
st72:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof72
}
st_case_72:
switch ( m.data)[( m.p)] {
case 10:
goto tr111
case 13:
goto tr112
case 32:
goto tr110
case 44:
goto tr113
case 46:
goto st70
case 69:
goto st16
case 101:
goto st16
case 105:
goto st74
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st73
}
case ( m.data)[( m.p)] >= 9:
goto tr110
}
goto tr82
st73:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof73
}
st_case_73:
switch ( m.data)[( m.p)] {
case 10:
goto tr111
case 13:
goto tr112
case 32:
goto tr110
case 44:
goto tr113
case 46:
goto st70
case 69:
goto st16
case 101:
goto st16
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st73
}
case ( m.data)[( m.p)] >= 9:
goto tr110
}
goto tr82
st74:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof74
}
st_case_74:
switch ( m.data)[( m.p)] {
case 10:
goto tr118
case 13:
goto tr119
case 32:
goto tr117
case 44:
goto tr120
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr117
}
goto tr82
st75:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof75
}
st_case_75:
switch ( m.data)[( m.p)] {
case 10:
goto tr111
case 13:
goto tr112
case 32:
goto tr110
case 44:
goto tr113
case 46:
goto st70
case 69:
goto st16
case 101:
goto st16
case 105:
goto st74
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st75
}
case ( m.data)[( m.p)] >= 9:
goto tr110
}
goto tr82
tr15:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st76
st76:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof76
}
st_case_76:
//line plugins/parsers/influx/machine.go:2053
switch ( m.data)[( m.p)] {
case 10:
goto tr111
case 13:
goto tr112
case 32:
goto tr110
case 44:
goto tr113
case 46:
goto st70
case 69:
goto st16
case 101:
goto st16
case 105:
goto st74
case 117:
goto st77
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st73
}
case ( m.data)[( m.p)] >= 9:
goto tr110
}
goto tr82
st77:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof77
}
st_case_77:
switch ( m.data)[( m.p)] {
case 10:
goto tr123
case 13:
goto tr124
case 32:
goto tr122
case 44:
goto tr125
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr122
}
goto tr82
tr16:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st78
st78:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof78
}
st_case_78:
//line plugins/parsers/influx/machine.go:2113
switch ( m.data)[( m.p)] {
case 10:
goto tr111
case 13:
goto tr112
case 32:
goto tr110
case 44:
goto tr113
case 46:
goto st70
case 69:
goto st16
case 101:
goto st16
case 105:
goto st74
case 117:
goto st77
}
switch {
case ( m.data)[( m.p)] > 12:
if 48 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 57 {
goto st78
}
case ( m.data)[( m.p)] >= 9:
goto tr110
}
goto tr82
tr17:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st79
st79:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof79
}
st_case_79:
//line plugins/parsers/influx/machine.go:2154
switch ( m.data)[( m.p)] {
case 10:
goto tr128
case 13:
goto tr129
case 32:
goto tr127
case 44:
goto tr130
case 65:
goto st18
case 97:
goto st21
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr127
}
goto tr82
st18:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof18
}
st_case_18:
if ( m.data)[( m.p)] == 76 {
goto st19
}
goto tr7
st19:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof19
}
st_case_19:
if ( m.data)[( m.p)] == 83 {
goto st20
}
goto tr7
st20:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof20
}
st_case_20:
if ( m.data)[( m.p)] == 69 {
goto st80
}
goto tr7
st80:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof80
}
st_case_80:
switch ( m.data)[( m.p)] {
case 10:
goto tr128
case 13:
goto tr129
case 32:
goto tr127
case 44:
goto tr130
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr127
}
goto tr82
st21:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof21
}
st_case_21:
if ( m.data)[( m.p)] == 108 {
goto st22
}
goto tr7
st22:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof22
}
st_case_22:
if ( m.data)[( m.p)] == 115 {
goto st23
}
goto tr7
st23:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof23
}
st_case_23:
if ( m.data)[( m.p)] == 101 {
goto st80
}
goto tr7
tr18:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st81
st81:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof81
}
st_case_81:
//line plugins/parsers/influx/machine.go:2257
switch ( m.data)[( m.p)] {
case 10:
goto tr128
case 13:
goto tr129
case 32:
goto tr127
case 44:
goto tr130
case 82:
goto st24
case 114:
goto st25
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr127
}
goto tr82
st24:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof24
}
st_case_24:
if ( m.data)[( m.p)] == 85 {
goto st20
}
goto tr7
st25:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof25
}
st_case_25:
if ( m.data)[( m.p)] == 117 {
goto st23
}
goto tr7
tr19:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st82
st82:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof82
}
st_case_82:
//line plugins/parsers/influx/machine.go:2305
switch ( m.data)[( m.p)] {
case 10:
goto tr128
case 13:
goto tr129
case 32:
goto tr127
case 44:
goto tr130
case 97:
goto st21
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr127
}
goto tr82
tr20:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st83
st83:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof83
}
st_case_83:
//line plugins/parsers/influx/machine.go:2333
switch ( m.data)[( m.p)] {
case 10:
goto tr128
case 13:
goto tr129
case 32:
goto tr127
case 44:
goto tr130
case 114:
goto st25
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr127
}
goto tr82
tr3:
( m.cs) = 26
//line plugins/parsers/influx/machine.go.rl:86
err = m.handler.SetMeasurement(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr57:
( m.cs) = 26
//line plugins/parsers/influx/machine.go.rl:99
err = m.handler.AddTag(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st26:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof26
}
st_case_26:
//line plugins/parsers/influx/machine.go:2381
switch ( m.data)[( m.p)] {
case 32:
goto tr2
case 44:
goto tr2
case 61:
goto tr2
case 92:
goto tr49
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto tr48
tr48:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st27
st27:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof27
}
st_case_27:
//line plugins/parsers/influx/machine.go:2407
switch ( m.data)[( m.p)] {
case 32:
goto tr2
case 44:
goto tr2
case 61:
goto tr51
case 92:
goto st32
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto st27
tr51:
//line plugins/parsers/influx/machine.go.rl:95
m.key = m.text()
goto st28
st28:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof28
}
st_case_28:
//line plugins/parsers/influx/machine.go:2433
switch ( m.data)[( m.p)] {
case 32:
goto tr2
case 44:
goto tr2
case 61:
goto tr2
case 92:
goto tr54
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto tr53
tr53:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st29
st29:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof29
}
st_case_29:
//line plugins/parsers/influx/machine.go:2459
switch ( m.data)[( m.p)] {
case 10:
goto tr2
case 13:
goto tr2
case 32:
goto tr56
case 44:
goto tr57
case 61:
goto tr2
case 92:
goto st30
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr56
}
goto st29
tr54:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st30
st30:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof30
}
st_case_30:
//line plugins/parsers/influx/machine.go:2489
if ( m.data)[( m.p)] == 92 {
goto st31
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto st29
st31:
//line plugins/parsers/influx/machine.go.rl:248
( m.p)--
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof31
}
st_case_31:
//line plugins/parsers/influx/machine.go:2505
switch ( m.data)[( m.p)] {
case 10:
goto tr2
case 13:
goto tr2
case 32:
goto tr56
case 44:
goto tr57
case 61:
goto tr2
case 92:
goto st30
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr56
}
goto st29
tr49:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st32
st32:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof32
}
st_case_32:
//line plugins/parsers/influx/machine.go:2535
if ( m.data)[( m.p)] == 92 {
goto st33
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto st27
st33:
//line plugins/parsers/influx/machine.go.rl:248
( m.p)--
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof33
}
st_case_33:
//line plugins/parsers/influx/machine.go:2551
switch ( m.data)[( m.p)] {
case 32:
goto tr2
case 44:
goto tr2
case 61:
goto tr51
case 92:
goto st32
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto st27
st34:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof34
}
st_case_34:
if ( m.data)[( m.p)] == 10 {
goto tr62
}
goto st34
tr62:
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
//line plugins/parsers/influx/machine.go.rl:78
{goto st85 }
goto st84
st84:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof84
}
st_case_84:
//line plugins/parsers/influx/machine.go:2592
goto st0
st37:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof37
}
st_case_37:
switch ( m.data)[( m.p)] {
case 32:
goto tr31
case 35:
goto tr31
case 44:
goto tr31
case 92:
goto tr66
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr31
}
goto tr65
tr65:
//line plugins/parsers/influx/machine.go.rl:82
m.beginMetric = true
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st86
st86:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof86
}
st_case_86:
//line plugins/parsers/influx/machine.go:2628
switch ( m.data)[( m.p)] {
case 10:
goto tr138
case 13:
goto tr139
case 32:
goto tr2
case 44:
goto tr140
case 92:
goto st45
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr2
}
goto st86
tr67:
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto st87
tr138:
( m.cs) = 87
//line plugins/parsers/influx/machine.go.rl:86
err = m.handler.SetMeasurement(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto _again
tr142:
( m.cs) = 87
//line plugins/parsers/influx/machine.go.rl:99
err = m.handler.AddTag(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto _again
st87:
//line plugins/parsers/influx/machine.go.rl:172
m.finishMetric = true
( m.cs) = 85;
{( m.p)++; goto _out }
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof87
}
st_case_87:
//line plugins/parsers/influx/machine.go:2702
goto st0
tr139:
( m.cs) = 38
//line plugins/parsers/influx/machine.go.rl:86
err = m.handler.SetMeasurement(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr143:
( m.cs) = 38
//line plugins/parsers/influx/machine.go.rl:99
err = m.handler.AddTag(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st38:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof38
}
st_case_38:
//line plugins/parsers/influx/machine.go:2735
if ( m.data)[( m.p)] == 10 {
goto tr67
}
goto st0
tr140:
( m.cs) = 39
//line plugins/parsers/influx/machine.go.rl:86
err = m.handler.SetMeasurement(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
tr144:
( m.cs) = 39
//line plugins/parsers/influx/machine.go.rl:99
err = m.handler.AddTag(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; goto _out }
}
goto _again
st39:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof39
}
st_case_39:
//line plugins/parsers/influx/machine.go:2771
switch ( m.data)[( m.p)] {
case 32:
goto tr2
case 44:
goto tr2
case 61:
goto tr2
case 92:
goto tr69
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto tr68
tr68:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st40
st40:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof40
}
st_case_40:
//line plugins/parsers/influx/machine.go:2797
switch ( m.data)[( m.p)] {
case 32:
goto tr2
case 44:
goto tr2
case 61:
goto tr71
case 92:
goto st43
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto st40
tr71:
//line plugins/parsers/influx/machine.go.rl:95
m.key = m.text()
goto st41
st41:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof41
}
st_case_41:
//line plugins/parsers/influx/machine.go:2823
switch ( m.data)[( m.p)] {
case 32:
goto tr2
case 44:
goto tr2
case 61:
goto tr2
case 92:
goto tr74
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto tr73
tr73:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st88
st88:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof88
}
st_case_88:
//line plugins/parsers/influx/machine.go:2849
switch ( m.data)[( m.p)] {
case 10:
goto tr142
case 13:
goto tr143
case 32:
goto tr2
case 44:
goto tr144
case 61:
goto tr2
case 92:
goto st42
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr2
}
goto st88
tr74:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st42
st42:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof42
}
st_case_42:
//line plugins/parsers/influx/machine.go:2879
if ( m.data)[( m.p)] == 92 {
goto st89
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto st88
st89:
//line plugins/parsers/influx/machine.go.rl:248
( m.p)--
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof89
}
st_case_89:
//line plugins/parsers/influx/machine.go:2895
switch ( m.data)[( m.p)] {
case 10:
goto tr142
case 13:
goto tr143
case 32:
goto tr2
case 44:
goto tr144
case 61:
goto tr2
case 92:
goto st42
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto tr2
}
goto st88
tr69:
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st43
st43:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof43
}
st_case_43:
//line plugins/parsers/influx/machine.go:2925
if ( m.data)[( m.p)] == 92 {
goto st44
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto st40
st44:
//line plugins/parsers/influx/machine.go.rl:248
( m.p)--
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof44
}
st_case_44:
//line plugins/parsers/influx/machine.go:2941
switch ( m.data)[( m.p)] {
case 32:
goto tr2
case 44:
goto tr2
case 61:
goto tr71
case 92:
goto st43
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto tr2
}
goto st40
tr66:
//line plugins/parsers/influx/machine.go.rl:82
m.beginMetric = true
//line plugins/parsers/influx/machine.go.rl:28
m.pb = m.p
goto st45
st45:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof45
}
st_case_45:
//line plugins/parsers/influx/machine.go:2971
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 13 {
goto st0
}
goto st86
tr63:
//line plugins/parsers/influx/machine.go.rl:166
m.lineno++
m.sol = m.p
m.sol++ // next char will be the first column in the line
goto st85
st85:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof85
}
st_case_85:
//line plugins/parsers/influx/machine.go:2989
switch ( m.data)[( m.p)] {
case 10:
goto tr63
case 13:
goto st35
case 32:
goto st85
case 35:
goto st36
}
if 9 <= ( m.data)[( m.p)] && ( m.data)[( m.p)] <= 12 {
goto st85
}
goto tr135
st35:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof35
}
st_case_35:
if ( m.data)[( m.p)] == 10 {
goto tr63
}
goto st0
st36:
if ( m.p)++; ( m.p) == ( m.pe) {
goto _test_eof36
}
st_case_36:
if ( m.data)[( m.p)] == 10 {
goto tr63
}
goto st36
st_out:
_test_eof46: ( m.cs) = 46; goto _test_eof
_test_eof1: ( m.cs) = 1; goto _test_eof
_test_eof2: ( m.cs) = 2; goto _test_eof
_test_eof3: ( m.cs) = 3; goto _test_eof
_test_eof4: ( m.cs) = 4; goto _test_eof
_test_eof5: ( m.cs) = 5; goto _test_eof
_test_eof6: ( m.cs) = 6; goto _test_eof
_test_eof47: ( m.cs) = 47; goto _test_eof
_test_eof48: ( m.cs) = 48; goto _test_eof
_test_eof49: ( m.cs) = 49; goto _test_eof
_test_eof7: ( m.cs) = 7; goto _test_eof
_test_eof8: ( m.cs) = 8; goto _test_eof
_test_eof9: ( m.cs) = 9; goto _test_eof
_test_eof10: ( m.cs) = 10; goto _test_eof
_test_eof50: ( m.cs) = 50; goto _test_eof
_test_eof51: ( m.cs) = 51; goto _test_eof
_test_eof52: ( m.cs) = 52; goto _test_eof
_test_eof53: ( m.cs) = 53; goto _test_eof
_test_eof54: ( m.cs) = 54; goto _test_eof
_test_eof55: ( m.cs) = 55; goto _test_eof
_test_eof56: ( m.cs) = 56; goto _test_eof
_test_eof57: ( m.cs) = 57; goto _test_eof
_test_eof58: ( m.cs) = 58; goto _test_eof
_test_eof59: ( m.cs) = 59; goto _test_eof
_test_eof60: ( m.cs) = 60; goto _test_eof
_test_eof61: ( m.cs) = 61; goto _test_eof
_test_eof62: ( m.cs) = 62; goto _test_eof
_test_eof63: ( m.cs) = 63; goto _test_eof
_test_eof64: ( m.cs) = 64; goto _test_eof
_test_eof65: ( m.cs) = 65; goto _test_eof
_test_eof66: ( m.cs) = 66; goto _test_eof
_test_eof67: ( m.cs) = 67; goto _test_eof
_test_eof68: ( m.cs) = 68; goto _test_eof
_test_eof69: ( m.cs) = 69; goto _test_eof
_test_eof11: ( m.cs) = 11; goto _test_eof
_test_eof12: ( m.cs) = 12; goto _test_eof
_test_eof13: ( m.cs) = 13; goto _test_eof
_test_eof14: ( m.cs) = 14; goto _test_eof
_test_eof15: ( m.cs) = 15; goto _test_eof
_test_eof70: ( m.cs) = 70; goto _test_eof
_test_eof16: ( m.cs) = 16; goto _test_eof
_test_eof17: ( m.cs) = 17; goto _test_eof
_test_eof71: ( m.cs) = 71; goto _test_eof
_test_eof72: ( m.cs) = 72; goto _test_eof
_test_eof73: ( m.cs) = 73; goto _test_eof
_test_eof74: ( m.cs) = 74; goto _test_eof
_test_eof75: ( m.cs) = 75; goto _test_eof
_test_eof76: ( m.cs) = 76; goto _test_eof
_test_eof77: ( m.cs) = 77; goto _test_eof
_test_eof78: ( m.cs) = 78; goto _test_eof
_test_eof79: ( m.cs) = 79; goto _test_eof
_test_eof18: ( m.cs) = 18; goto _test_eof
_test_eof19: ( m.cs) = 19; goto _test_eof
_test_eof20: ( m.cs) = 20; goto _test_eof
_test_eof80: ( m.cs) = 80; goto _test_eof
_test_eof21: ( m.cs) = 21; goto _test_eof
_test_eof22: ( m.cs) = 22; goto _test_eof
_test_eof23: ( m.cs) = 23; goto _test_eof
_test_eof81: ( m.cs) = 81; goto _test_eof
_test_eof24: ( m.cs) = 24; goto _test_eof
_test_eof25: ( m.cs) = 25; goto _test_eof
_test_eof82: ( m.cs) = 82; goto _test_eof
_test_eof83: ( m.cs) = 83; goto _test_eof
_test_eof26: ( m.cs) = 26; goto _test_eof
_test_eof27: ( m.cs) = 27; goto _test_eof
_test_eof28: ( m.cs) = 28; goto _test_eof
_test_eof29: ( m.cs) = 29; goto _test_eof
_test_eof30: ( m.cs) = 30; goto _test_eof
_test_eof31: ( m.cs) = 31; goto _test_eof
_test_eof32: ( m.cs) = 32; goto _test_eof
_test_eof33: ( m.cs) = 33; goto _test_eof
_test_eof34: ( m.cs) = 34; goto _test_eof
_test_eof84: ( m.cs) = 84; goto _test_eof
_test_eof37: ( m.cs) = 37; goto _test_eof
_test_eof86: ( m.cs) = 86; goto _test_eof
_test_eof87: ( m.cs) = 87; goto _test_eof
_test_eof38: ( m.cs) = 38; goto _test_eof
_test_eof39: ( m.cs) = 39; goto _test_eof
_test_eof40: ( m.cs) = 40; goto _test_eof
_test_eof41: ( m.cs) = 41; goto _test_eof
_test_eof88: ( m.cs) = 88; goto _test_eof
_test_eof42: ( m.cs) = 42; goto _test_eof
_test_eof89: ( m.cs) = 89; goto _test_eof
_test_eof43: ( m.cs) = 43; goto _test_eof
_test_eof44: ( m.cs) = 44; goto _test_eof
_test_eof45: ( m.cs) = 45; goto _test_eof
_test_eof85: ( m.cs) = 85; goto _test_eof
_test_eof35: ( m.cs) = 35; goto _test_eof
_test_eof36: ( m.cs) = 36; goto _test_eof
_test_eof: {}
if ( m.p) == ( m.eof) {
switch ( m.cs) {
case 7, 37:
//line plugins/parsers/influx/machine.go.rl:32
err = ErrNameParse
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
case 2, 3, 4, 5, 6, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25:
//line plugins/parsers/influx/machine.go.rl:39
err = ErrFieldParse
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
case 26, 27, 28, 30, 32, 33, 39, 40, 41, 42, 43, 44:
//line plugins/parsers/influx/machine.go.rl:46
err = ErrTagParse
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
case 10:
//line plugins/parsers/influx/machine.go.rl:53
err = ErrTimestampParse
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
case 86:
//line plugins/parsers/influx/machine.go.rl:86
err = m.handler.SetMeasurement(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
case 88, 89:
//line plugins/parsers/influx/machine.go.rl:99
err = m.handler.AddTag(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
case 47, 48, 49, 51:
//line plugins/parsers/influx/machine.go.rl:178
m.finishMetric = true
case 46:
//line plugins/parsers/influx/machine.go.rl:82
m.beginMetric = true
//line plugins/parsers/influx/machine.go.rl:178
m.finishMetric = true
case 1:
//line plugins/parsers/influx/machine.go.rl:86
err = m.handler.SetMeasurement(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:46
err = ErrTagParse
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
case 29, 31:
//line plugins/parsers/influx/machine.go.rl:99
err = m.handler.AddTag(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:46
err = ErrTagParse
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
case 74:
//line plugins/parsers/influx/machine.go.rl:112
err = m.handler.AddInt(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:178
m.finishMetric = true
case 77:
//line plugins/parsers/influx/machine.go.rl:121
err = m.handler.AddUint(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:178
m.finishMetric = true
case 70, 71, 72, 73, 75, 76, 78:
//line plugins/parsers/influx/machine.go.rl:130
err = m.handler.AddFloat(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:178
m.finishMetric = true
case 79, 80, 81, 82, 83:
//line plugins/parsers/influx/machine.go.rl:139
err = m.handler.AddBool(m.key, m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:178
m.finishMetric = true
case 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69:
//line plugins/parsers/influx/machine.go.rl:157
err = m.handler.SetTimestamp(m.text())
if err != nil {
( m.p)--
( m.cs) = 34;
{( m.p)++; ( m.cs) = 0; goto _out }
}
//line plugins/parsers/influx/machine.go.rl:178
m.finishMetric = true
//line plugins/parsers/influx/machine.go:3301
}
}
_out: {}
}
//line plugins/parsers/influx/machine.go.rl:415
if err != nil {
return err
}
// This would indicate an error in the machine that was reported with a
// more specific error. We return a generic error but this should
// possibly be a panic.
if m.cs == 0 {
m.cs = LineProtocol_en_discard_line
return ErrParse
}
// If we haven't found a metric line yet and we reached the EOF, report it
// now. This happens when the data ends with a comment or whitespace.
//
// Otherwise we have successfully parsed a metric line, so if we are at
// the EOF we will report it the next call.
if !m.beginMetric && m.p == m.pe && m.pe == m.eof {
return EOF
}
return nil
}
// Position returns the current byte offset into the data.
func (m *machine) Position() int {
return m.p
}
// LineOffset returns the byte offset of the current line.
func (m *machine) LineOffset() int {
return m.sol
}
// LineNumber returns the current line number. Lines are counted based on the
// regular expression `\r?\n`.
func (m *machine) LineNumber() int {
return m.lineno
}
// Column returns the current column.
func (m *machine) Column() int {
lineOffset := m.p - m.sol
return lineOffset + 1
}
func (m *machine) text() []byte {
return m.data[m.pb:m.p]
}
type streamMachine struct {
machine *machine
reader io.Reader
}
func NewStreamMachine(r io.Reader, handler Handler) *streamMachine {
m := &streamMachine{
machine: NewMachine(handler),
reader: r,
}
m.machine.SetData(make([]byte, 1024))
m.machine.pe = 0
m.machine.eof = -1
return m
}
func (m *streamMachine) Next() error {
// Check if we are already at EOF, this should only happen if called again
// after already returning EOF.
if m.machine.p == m.machine.pe && m.machine.pe == m.machine.eof {
return EOF
}
copy(m.machine.data, m.machine.data[m.machine.p:])
m.machine.pe = m.machine.pe - m.machine.p
m.machine.sol = m.machine.sol - m.machine.p
m.machine.pb = 0
m.machine.p = 0
m.machine.eof = -1
m.machine.key = nil
m.machine.beginMetric = false
m.machine.finishMetric = false
for {
// Expand the buffer if it is full
if m.machine.pe == len(m.machine.data) {
expanded := make([]byte, 2 * len(m.machine.data))
copy(expanded, m.machine.data)
m.machine.data = expanded
}
err := m.machine.exec()
if err != nil {
return err
}
// If we have successfully parsed a full metric line break out
if m.machine.finishMetric {
break
}
n, err := m.reader.Read(m.machine.data[m.machine.pe:])
if n == 0 && err == io.EOF {
m.machine.eof = m.machine.pe
} else if err != nil && err != io.EOF {
// After the reader returns an error this function shouldn't be
// called again. This will cause the machine to return EOF this
// is done.
m.machine.p = m.machine.pe
m.machine.eof = m.machine.pe
return &readErr{Err: err}
}
m.machine.pe += n
}
return nil
}
// Position returns the current byte offset into the data.
func (m *streamMachine) Position() int {
return m.machine.Position()
}
// LineOffset returns the byte offset of the current line.
func (m *streamMachine) LineOffset() int {
return m.machine.LineOffset()
}
// LineNumber returns the current line number. Lines are counted based on the
// regular expression `\r?\n`.
func (m *streamMachine) LineNumber() int {
return m.machine.LineNumber()
}
// Column returns the current column.
func (m *streamMachine) Column() int {
return m.machine.Column()
}
// LineText returns the text of the current line that has been parsed so far.
func (m *streamMachine) LineText() string {
return string(m.machine.data[0:m.machine.p])
}