dns/zparse.go

2414 lines
47 KiB
Go
Raw Normal View History

// line 1 "zparse.rl"
2011-07-15 00:02:26 +10:00
package dns
2011-07-15 05:14:55 +10:00
// Parse RRs
2011-07-20 01:49:51 +10:00
// With the thankful help of gdnsd and the Go examples for Ragel.
//
2011-07-15 05:14:55 +10:00
import (
"os"
2011-07-17 23:47:03 +10:00
"io"
2011-07-15 05:14:55 +10:00
"net"
"strconv"
)
const _RDATAMAX = 7
2011-07-17 23:47:03 +10:00
const _IOBUF = 65365
// Save up tokens, after we've seen the entire rdata
// we can use this.
type token struct {
2011-07-21 22:31:48 +10:00
T []string // text
N []int // number
ti int // text counter
ni int // number counter
}
func newToken() *token {
2011-07-21 22:31:48 +10:00
to := new(token)
to.T = make([]string, _RDATAMAX)
to.N = make([]int, _RDATAMAX)
to.ni, to.ti = 0, 0
return to
}
// Only push functions are provided. Reading is done, by directly
// accessing the members (T and N). See types.rl.
func (to *token) pushInt(s string) {
2011-07-21 22:31:48 +10:00
i, err := strconv.Atoi(s)
if err != nil {
panic("Failure to parse to int: " + s)
}
to.N[to.ni] = i
to.ni++
if to.ni > _RDATAMAX {
panic("Too much rdata (int)")
}
}
func (to *token) pushString(s string) {
2011-07-21 22:31:48 +10:00
to.T[to.ti] = s
to.ti++
if to.ti > _RDATAMAX {
panic("Too much rdata (string)")
}
}
func (to *token) reset() {
2011-07-21 22:31:48 +10:00
to.ni, to.ti = 0, 0
}
func rdata_aaaa(hdr RR_Header, tok *token) RR {
rr := new(RR_AAAA)
rr.Hdr = hdr
rr.Hdr.Rrtype = TypeAAAA
rr.AAAA = net.ParseIP(tok.T[0])
println("Calling aaaa", tok.T[0])
return rr
}
func rdata_a(hdr RR_Header, tok *token) RR {
rr := new(RR_A)
rr.Hdr = hdr
rr.Hdr.Rrtype = TypeA
rr.A = net.ParseIP(tok.T[0])
return rr
}
func rdata_ns(hdr RR_Header, tok *token) RR {
rr := new(RR_NS)
rr.Hdr = hdr
rr.Hdr.Rrtype = TypeNS
rr.Ns = tok.T[0]
return rr
}
func rdata_cname(hdr RR_Header, tok *token) RR {
rr := new(RR_CNAME)
rr.Hdr = hdr
rr.Hdr.Rrtype = TypeCNAME
rr.Cname = tok.T[0]
return rr
}
func rdata_soa(hdr RR_Header, tok *token) RR {
rr := new(RR_SOA)
rr.Hdr = hdr
rr.Hdr.Rrtype = TypeSOA
rr.Ns = tok.T[0]
rr.Mbox = tok.T[1]
rr.Serial = uint32(tok.N[0])
rr.Refresh = uint32(tok.N[1])
rr.Retry = uint32(tok.N[2])
rr.Expire = uint32(tok.N[3])
rr.Minttl = uint32(tok.N[4])
return rr
}
func rdata_mx(hdr RR_Header, tok *token) RR {
rr := new(RR_MX)
rr.Hdr = hdr;
rr.Hdr.Rrtype = TypeMX
rr.Pref = uint16(tok.N[0])
rr.Mx = tok.T[0]
return rr
}
func rdata_ds(hdr RR_Header, tok *token) RR {
rr := new(RR_DS)
rr.Hdr = hdr;
rr.Hdr.Rrtype = TypeDS
rr.KeyTag = uint16(tok.N[0])
rr.Algorithm = uint8(tok.N[1])
rr.DigestType = uint8(tok.N[2])
rr.Digest = tok.T[0]
return rr
}
func rdata_dnskey(hdr RR_Header, tok *token) RR {
rr := new(RR_DNSKEY)
rr.Hdr = hdr;
rr.Hdr.Rrtype = TypeDNSKEY
rr.Flags = uint16(tok.N[0])
rr.Protocol = uint8(tok.N[1])
rr.Algorithm = uint8(tok.N[2])
rr.PublicKey = tok.T[0]
return rr
}
func rdata_rrsig(hdr RR_Header, tok *token) RR {
rr := new(RR_RRSIG)
rr.Hdr = hdr;
rr.Hdr.Rrtype = TypeRRSIG
rr.TypeCovered = uint16(tok.N[0])
rr.Algorithm = uint8(tok.N[1])
rr.Labels = uint8(tok.N[2])
rr.OrigTtl = uint32(tok.N[3])
rr.Expiration = uint32(tok.N[4])
rr.Inception = uint32(tok.N[5])
rr.KeyTag = uint16(tok.N[6])
rr.SignerName = tok.T[0]
rr.Signature = tok.T[1]
return rr
}
func set(r RR, z *Zone, tok *token) {
z.Push(r)
tok.reset()
println("Resetting")
}
2011-07-21 22:31:48 +10:00
// line 158 "zparse.go"
var z_start int = 85
var z_first_final int = 85
2011-07-15 05:14:55 +10:00
var z_error int = 0
2011-07-21 22:31:48 +10:00
var z_en_main int = 85
2011-07-21 22:31:48 +10:00
// line 157 "zparse.rl"
// SetString
// All the NewReader stuff is expensive...
2011-07-17 23:47:03 +10:00
// only works for short io.Readers as we put the whole thing
// in a string -- needs to be extended for large files (sliding window).
func Zparse(q io.Reader) (z *Zone, err os.Error) {
2011-07-17 23:47:03 +10:00
buf := make([]byte, _IOBUF)
n, err := q.Read(buf)
2011-07-17 23:47:03 +10:00
if err != nil {
return nil, err
}
buf = buf[:n]
z = new(Zone)
2011-07-17 23:47:03 +10:00
data := string(buf)
2011-07-20 01:49:51 +10:00
cs, p, pe := 0, 0, len(data)
2011-07-21 20:31:47 +10:00
ts, te, act := 0, 0, 0
// top := 0
// stack := make([]int, 100)
2011-07-21 05:19:40 +10:00
eof := len(data)
2011-07-21 22:31:48 +10:00
// keep Go happy - need to fix this ofcourse
2011-07-21 20:31:47 +10:00
ts = ts; te = te; act = act
2011-07-20 01:49:51 +10:00
brace := false
lines := 0
2011-07-15 05:14:55 +10:00
mark := 0
hdr := new(RR_Header)
tok := newToken()
var rr RR
2011-07-21 22:31:48 +10:00
rr = rr
2011-07-21 22:31:48 +10:00
// line 200 "zparse.go"
cs = z_start
2011-07-21 22:31:48 +10:00
ts = 0
te = 0
act = 0
2011-07-21 22:31:48 +10:00
// line 206 "zparse.go"
{
if p == pe { goto _test_eof }
switch cs {
case -666: // i am a hack D:
2011-07-21 22:31:48 +10:00
tr219:
// line 231 "zparse.rl"
{te = p;p--;{ rr = rdata_a(*hdr, tok); set(rr, z, tok); }}
goto st85
tr221:
// line 234 "zparse.rl"
{te = p;p--;{ rr = rdata_aaaa(*hdr, tok); set(rr, z, tok); }}
goto st85
tr223:
// line 233 "zparse.rl"
{te = p;p--;{ rr = rdata_cname(*hdr, tok); set(rr, z, tok); }}
goto st85
tr225:
// line 235 "zparse.rl"
{te = p;p--;{ rr = rdata_mx(*hdr, tok); set(rr, z, tok); }}
goto st85
tr227:
// line 232 "zparse.rl"
{te = p;p--;{ rr = rdata_ns(*hdr, tok); set(rr, z, tok); }}
goto st85
tr229:
// line 236 "zparse.rl"
{te = p;p--;{ rr = rdata_soa(*hdr, tok); set(rr, z, tok); }}
goto st85
st85:
// line 1 "NONE"
{ts = 0;}
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof85 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 85:
// line 1 "NONE"
{ts = p;}
// line 244 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st1
2011-07-21 05:19:40 +10:00
case 10: goto tr2
2011-07-21 22:31:48 +10:00
case 32: goto st1
case 40: goto tr3
case 41: goto tr4
case 59: goto st71
case 95: goto st84
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st84 }
} else if data[p] > 57 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st84 }
} else if data[p] >= 65 {
goto st84
}
} else {
goto st84
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st0:
cs = 0;
goto _out;
2011-07-21 05:19:40 +10:00
tr2:
2011-07-21 22:31:48 +10:00
// line 200 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ lines++ }
2011-07-21 22:31:48 +10:00
goto st1
tr3:
// line 197 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ if brace { println("Brace already open")} ; brace = true }
2011-07-21 22:31:48 +10:00
goto st1
tr4:
// line 198 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 22:31:48 +10:00
goto st1
tr213:
// line 191 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ hdr.Name = data[mark:p] }
2011-07-21 22:31:48 +10:00
goto st1
tr214:
// line 191 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ hdr.Name = data[mark:p] }
2011-07-21 22:31:48 +10:00
// line 200 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ lines++ }
2011-07-21 22:31:48 +10:00
goto st1
tr215:
// line 191 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ hdr.Name = data[mark:p] }
2011-07-21 22:31:48 +10:00
// line 197 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ if brace { println("Brace already open")} ; brace = true }
2011-07-21 22:31:48 +10:00
goto st1
tr216:
// line 191 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ hdr.Name = data[mark:p] }
2011-07-21 22:31:48 +10:00
// line 198 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 22:31:48 +10:00
goto st1
st1:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof1 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 1:
// line 308 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st1
case 10: goto tr2
case 32: goto st1
case 40: goto tr3
case 41: goto tr4
case 59: goto st71
case 65: goto tr7
case 67: goto tr8
case 72: goto tr9
case 73: goto tr10
case 77: goto tr11
case 78: goto tr12
case 83: goto tr13
case 97: goto tr7
case 99: goto tr8
case 104: goto tr9
case 105: goto tr10
case 109: goto tr11
case 110: goto tr12
case 115: goto tr13
}
if 48 <= data[p] && data[p] <= 57 { goto tr5 }
2011-07-21 05:19:40 +10:00
goto st0
2011-07-21 22:31:48 +10:00
tr5:
// line 190 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
// line 193 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ /* ... */ }
2011-07-21 22:31:48 +10:00
goto st2
st2:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof2 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 2:
// line 344 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr14
case 10: goto tr15
case 32: goto tr14
case 40: goto tr16
case 41: goto tr17
case 59: goto tr19
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto st2 }
2011-07-21 05:19:40 +10:00
goto st0
2011-07-21 22:31:48 +10:00
tr21:
// line 200 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ lines++ }
2011-07-21 22:31:48 +10:00
goto st3
tr22:
// line 197 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ if brace { println("Brace already open")} ; brace = true }
2011-07-21 22:31:48 +10:00
goto st3
tr23:
// line 198 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 22:31:48 +10:00
goto st3
tr14:
// line 194 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 22:31:48 +10:00
goto st3
tr15:
// line 194 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 22:31:48 +10:00
// line 200 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ lines++ }
2011-07-21 22:31:48 +10:00
goto st3
tr16:
// line 194 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 22:31:48 +10:00
// line 197 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ if brace { println("Brace already open")} ; brace = true }
2011-07-21 22:31:48 +10:00
goto st3
tr17:
// line 194 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 22:31:48 +10:00
// line 198 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 22:31:48 +10:00
goto st3
st3:
p++
if p == pe { goto _test_eof3 }
fallthrough
case 3:
// line 394 "zparse.go"
switch data[p] {
case 9: goto st3
case 10: goto tr21
case 32: goto st3
case 40: goto tr22
case 41: goto tr23
case 59: goto st4
case 65: goto tr25
case 67: goto tr26
case 72: goto tr27
case 73: goto tr28
case 77: goto tr29
case 78: goto tr30
case 83: goto tr31
case 97: goto tr25
case 99: goto tr26
case 104: goto tr27
case 105: goto tr28
case 109: goto tr29
case 110: goto tr30
case 115: goto tr31
}
goto st0
tr19:
// line 194 "zparse.rl"
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 05:19:40 +10:00
goto st4
st4:
p++
if p == pe { goto _test_eof4 }
fallthrough
case 4:
2011-07-21 22:31:48 +10:00
// line 427 "zparse.go"
if data[p] == 10 { goto tr21 }
goto st4
tr25:
// line 190 "zparse.rl"
{ mark = p }
2011-07-21 05:19:40 +10:00
goto st5
st5:
p++
if p == pe { goto _test_eof5 }
fallthrough
case 5:
2011-07-21 22:31:48 +10:00
// line 439 "zparse.go"
switch data[p] {
case 9: goto st6
case 10: goto tr33
case 32: goto st6
case 40: goto tr34
case 41: goto tr35
case 59: goto st8
case 65: goto st9
case 78: goto st15
case 97: goto st9
case 110: goto st15
}
goto st0
tr33:
// line 200 "zparse.rl"
{ lines++ }
goto st6
tr34:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st6
tr35:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 05:19:40 +10:00
goto st6
st6:
p++
if p == pe { goto _test_eof6 }
fallthrough
case 6:
2011-07-21 22:31:48 +10:00
// line 470 "zparse.go"
switch data[p] {
case 9: goto st6
case 10: goto tr33
case 32: goto st6
case 40: goto tr34
case 41: goto tr35
case 59: goto st8
case 95: goto tr39
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto tr39 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto tr39 }
} else if data[p] >= 65 {
goto tr39
}
} else {
goto tr39
2011-07-21 05:19:40 +10:00
}
goto st0
tr39:
2011-07-21 22:31:48 +10:00
// line 190 "zparse.rl"
{ mark = p }
2011-07-21 05:19:40 +10:00
goto st7
st7:
p++
if p == pe { goto _test_eof7 }
fallthrough
case 7:
2011-07-21 22:31:48 +10:00
// line 501 "zparse.go"
switch data[p] {
case 10: goto tr40
case 95: goto st7
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st7 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st7 }
} else if data[p] >= 65 {
goto st7
}
} else {
goto st7
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr220:
// line 200 "zparse.rl"
{ lines++ }
goto st86
tr40:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st86
st86:
p++
if p == pe { goto _test_eof86 }
fallthrough
case 86:
// line 533 "zparse.go"
if data[p] == 10 { goto tr220 }
goto tr219
2011-07-21 05:19:40 +10:00
st8:
p++
if p == pe { goto _test_eof8 }
fallthrough
case 8:
2011-07-21 22:31:48 +10:00
if data[p] == 10 { goto tr33 }
goto st8
st9:
p++
if p == pe { goto _test_eof9 }
fallthrough
case 9:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 65: goto st10
case 97: goto st10
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st10:
p++
if p == pe { goto _test_eof10 }
fallthrough
case 10:
switch data[p] {
case 65: goto st11
case 97: goto st11
}
goto st0
st11:
p++
if p == pe { goto _test_eof11 }
fallthrough
case 11:
switch data[p] {
case 9: goto st12
case 10: goto tr45
case 32: goto st12
case 40: goto tr46
case 41: goto tr47
case 59: goto st14
}
goto st0
2011-07-21 20:31:47 +10:00
tr45:
2011-07-21 22:31:48 +10:00
// line 200 "zparse.rl"
{ lines++ }
goto st12
tr46:
// line 197 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ if brace { println("Brace already open")} ; brace = true }
2011-07-21 22:31:48 +10:00
goto st12
tr47:
// line 198 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 22:31:48 +10:00
goto st12
st12:
p++
if p == pe { goto _test_eof12 }
fallthrough
case 12:
// line 594 "zparse.go"
switch data[p] {
case 9: goto st12
case 10: goto tr45
case 32: goto st12
case 40: goto tr46
case 41: goto tr47
case 59: goto st14
case 95: goto tr49
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto tr49 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto tr49 }
} else if data[p] >= 65 {
goto tr49
}
} else {
goto tr49
}
goto st0
tr49:
// line 190 "zparse.rl"
{ mark = p }
goto st13
st13:
p++
if p == pe { goto _test_eof13 }
fallthrough
case 13:
// line 625 "zparse.go"
switch data[p] {
case 10: goto tr50
case 95: goto st13
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st13 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st13 }
} else if data[p] >= 65 {
goto st13
}
} else {
goto st13
}
goto st0
tr222:
// line 200 "zparse.rl"
{ lines++ }
goto st87
tr50:
// line 196 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ tok.pushString(data[mark:p]) }
2011-07-21 22:31:48 +10:00
// line 200 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ lines++ }
2011-07-21 22:31:48 +10:00
goto st87
st87:
2011-07-15 07:55:06 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof87 }
2011-07-15 07:55:06 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 87:
// line 657 "zparse.go"
if data[p] == 10 { goto tr222 }
goto tr221
st14:
2011-07-15 07:55:06 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof14 }
2011-07-15 07:55:06 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 14:
if data[p] == 10 { goto tr45 }
goto st14
st15:
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof15 }
fallthrough
2011-07-21 22:31:48 +10:00
case 15:
switch data[p] {
2011-07-21 22:31:48 +10:00
case 89: goto st16
case 121: goto st16
2011-07-21 05:19:40 +10:00
}
goto st0
2011-07-21 22:31:48 +10:00
st16:
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof16 }
fallthrough
2011-07-21 22:31:48 +10:00
case 16:
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr53
case 10: goto tr54
case 32: goto tr53
case 40: goto tr55
case 41: goto tr56
case 59: goto tr57
}
2011-07-15 05:14:55 +10:00
goto st0
2011-07-21 22:31:48 +10:00
tr59:
// line 200 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ lines++ }
2011-07-21 22:31:48 +10:00
goto st17
tr60:
// line 197 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ if brace { println("Brace already open")} ; brace = true }
2011-07-21 22:31:48 +10:00
goto st17
tr61:
// line 198 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 22:31:48 +10:00
goto st17
tr205:
// line 194 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 22:31:48 +10:00
goto st17
tr206:
// line 194 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 22:31:48 +10:00
// line 200 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ lines++ }
2011-07-21 22:31:48 +10:00
goto st17
tr207:
// line 194 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 22:31:48 +10:00
// line 197 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ if brace { println("Brace already open")} ; brace = true }
2011-07-21 22:31:48 +10:00
goto st17
tr208:
// line 194 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
2011-07-21 22:31:48 +10:00
// line 198 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 22:31:48 +10:00
goto st17
tr53:
// line 192 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ hdr.Class = Str_class[data[mark:p]] }
2011-07-21 22:31:48 +10:00
goto st17
tr54:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
// line 200 "zparse.rl"
{ lines++ }
goto st17
tr55:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st17
tr56:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st17
st17:
2011-07-15 07:55:06 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof17 }
2011-07-15 07:55:06 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 17:
// line 752 "zparse.go"
2011-07-15 07:55:06 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st17
case 10: goto tr59
case 32: goto st17
case 40: goto tr60
case 41: goto tr61
case 59: goto st18
case 65: goto tr63
case 67: goto tr64
case 77: goto tr29
case 78: goto tr65
case 83: goto tr31
case 97: goto tr63
case 99: goto tr64
case 109: goto tr29
case 110: goto tr65
case 115: goto tr31
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr210:
// line 194 "zparse.rl"
{ ttl, _ := strconv.Atoi(data[mark:p]); hdr.Ttl = uint32(ttl) }
goto st18
tr57:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
goto st18
st18:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof18 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 18:
// line 785 "zparse.go"
if data[p] == 10 { goto tr59 }
goto st18
tr63:
// line 190 "zparse.rl"
{ mark = p }
goto st19
st19:
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof19 }
fallthrough
2011-07-21 22:31:48 +10:00
case 19:
// line 797 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st6
case 10: goto tr33
case 32: goto st6
case 40: goto tr34
case 41: goto tr35
case 59: goto st8
case 65: goto st9
case 97: goto st9
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr64:
// line 190 "zparse.rl"
2011-07-19 01:40:55 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st20
st20:
2011-07-18 23:49:20 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof20 }
2011-07-18 23:49:20 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 20:
// line 818 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 78: goto st21
case 110: goto st21
2011-07-19 01:40:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st21:
2011-07-19 01:40:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof21 }
2011-07-19 01:40:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 21:
2011-07-19 01:40:55 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 65: goto st22
case 97: goto st22
2011-07-15 07:55:06 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st22:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof22 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 22:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 77: goto st23
case 109: goto st23
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st23:
2011-07-15 00:11:16 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof23 }
2011-07-15 00:11:16 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 23:
2011-07-15 00:11:16 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 69: goto st24
case 101: goto st24
2011-07-15 07:55:06 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st24:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof24 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 24:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st25
case 10: goto tr71
case 32: goto st25
case 40: goto tr72
case 41: goto tr73
case 59: goto st27
2011-07-15 00:11:16 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr71:
// line 200 "zparse.rl"
{ lines++ }
2011-07-21 05:19:40 +10:00
goto st25
2011-07-21 22:31:48 +10:00
tr72:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
2011-07-21 05:19:40 +10:00
goto st25
2011-07-21 22:31:48 +10:00
tr73:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
2011-07-21 05:19:40 +10:00
goto st25
2011-07-21 22:31:48 +10:00
st25:
2011-07-15 00:11:16 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof25 }
2011-07-15 00:11:16 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 25:
// line 885 "zparse.go"
switch data[p] {
case 9: goto st25
case 10: goto tr71
case 32: goto st25
case 40: goto tr72
case 41: goto tr73
case 59: goto st27
case 95: goto tr75
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto tr75 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto tr75 }
} else if data[p] >= 65 {
goto tr75
}
} else {
goto tr75
2011-07-18 23:49:20 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr75:
// line 190 "zparse.rl"
{ mark = p }
goto st26
st26:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof26 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 26:
// line 916 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 10: goto tr76
case 95: goto st26
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st26 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st26 }
} else if data[p] >= 65 {
goto st26
}
} else {
goto st26
2011-07-18 23:49:20 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr224:
// line 200 "zparse.rl"
{ lines++ }
goto st88
tr76:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st88
st88:
2011-07-18 23:49:20 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof88 }
2011-07-18 23:49:20 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 88:
// line 948 "zparse.go"
if data[p] == 10 { goto tr224 }
goto tr223
st27:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof27 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 27:
if data[p] == 10 { goto tr71 }
goto st27
tr11:
// line 190 "zparse.rl"
2011-07-18 23:49:20 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
// line 193 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ /* ... */ }
2011-07-21 22:31:48 +10:00
goto st28
tr29:
// line 190 "zparse.rl"
{ mark = p }
goto st28
st28:
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof28 }
fallthrough
2011-07-21 22:31:48 +10:00
case 28:
// line 973 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 88: goto st29
case 120: goto st29
2011-07-15 00:11:16 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st29:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof29 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 29:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st30
case 10: goto tr80
case 32: goto st30
case 40: goto tr81
case 41: goto tr82
case 59: goto st35
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr80:
// line 200 "zparse.rl"
{ lines++ }
goto st30
tr81:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st30
tr82:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st30
st30:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof30 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 30:
// line 1010 "zparse.go"
2011-07-15 05:14:55 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st30
case 10: goto tr80
case 32: goto st30
case 40: goto tr81
case 41: goto tr82
case 59: goto st35
2011-07-20 01:49:51 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto tr84 }
goto st0
tr84:
// line 190 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st31
st31:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof31 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 31:
// line 1030 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr85
case 10: goto tr86
case 32: goto tr85
case 40: goto tr87
case 41: goto tr88
case 59: goto tr90
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto st31 }
goto st0
tr92:
// line 200 "zparse.rl"
{ lines++ }
goto st32
tr93:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st32
tr94:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st32
tr85:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st32
tr86:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st32
tr87:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st32
tr88:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st32
st32:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof32 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 32:
// line 1080 "zparse.go"
switch data[p] {
case 9: goto st32
case 10: goto tr92
case 32: goto st32
case 40: goto tr93
case 41: goto tr94
case 59: goto st34
case 95: goto tr95
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto tr95 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto tr95 }
} else if data[p] >= 65 {
goto tr95
}
} else {
goto tr95
2011-07-15 00:11:16 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr95:
// line 190 "zparse.rl"
{ mark = p }
goto st33
st33:
2011-07-15 00:11:16 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof33 }
2011-07-15 00:11:16 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 33:
// line 1111 "zparse.go"
switch data[p] {
case 10: goto tr97
case 95: goto st33
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st33 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st33 }
} else if data[p] >= 65 {
goto st33
}
} else {
goto st33
2011-07-15 00:11:16 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr226:
// line 200 "zparse.rl"
{ lines++ }
goto st89
tr97:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st89
st89:
2011-07-15 00:11:16 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof89 }
2011-07-15 00:11:16 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 89:
// line 1143 "zparse.go"
if data[p] == 10 { goto tr226 }
goto tr225
tr90:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st34
st34:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof34 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 34:
// line 1155 "zparse.go"
if data[p] == 10 { goto tr92 }
goto st34
st35:
2011-07-15 00:11:16 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof35 }
2011-07-15 00:11:16 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 35:
if data[p] == 10 { goto tr80 }
goto st35
tr65:
// line 190 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st36
st36:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof36 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 36:
// line 1174 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 83: goto st37
case 115: goto st37
2011-07-15 00:11:16 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st37:
2011-07-15 00:11:16 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof37 }
2011-07-15 00:11:16 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 37:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st38
case 10: goto tr101
case 32: goto st38
case 40: goto tr102
case 41: goto tr103
case 59: goto st40
2011-07-15 07:12:43 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr101:
// line 200 "zparse.rl"
{ lines++ }
goto st38
tr102:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st38
tr103:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st38
st38:
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof38 }
fallthrough
2011-07-21 22:31:48 +10:00
case 38:
// line 1211 "zparse.go"
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st38
case 10: goto tr101
case 32: goto st38
case 40: goto tr102
case 41: goto tr103
case 59: goto st40
case 95: goto tr105
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto tr105 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto tr105 }
} else if data[p] >= 65 {
goto tr105
}
} else {
goto tr105
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr105:
// line 190 "zparse.rl"
{ mark = p }
goto st39
st39:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof39 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 39:
// line 1242 "zparse.go"
switch data[p] {
case 10: goto tr106
case 95: goto st39
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st39 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st39 }
} else if data[p] >= 65 {
goto st39
}
} else {
goto st39
2011-07-15 07:12:43 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr228:
// line 200 "zparse.rl"
{ lines++ }
goto st90
tr106:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st90
st90:
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof90 }
fallthrough
2011-07-21 22:31:48 +10:00
case 90:
// line 1274 "zparse.go"
if data[p] == 10 { goto tr228 }
goto tr227
st40:
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof40 }
fallthrough
2011-07-21 22:31:48 +10:00
case 40:
if data[p] == 10 { goto tr101 }
goto st40
tr13:
// line 190 "zparse.rl"
{ mark = p }
// line 193 "zparse.rl"
{ /* ... */ }
goto st41
tr31:
// line 190 "zparse.rl"
{ mark = p }
goto st41
st41:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof41 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 41:
// line 1299 "zparse.go"
2011-07-15 05:14:55 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 79: goto st42
case 111: goto st42
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st42:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof42 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 42:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 65: goto st43
case 97: goto st43
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st43:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof43 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 43:
2011-07-15 05:14:55 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st44
case 10: goto tr111
case 32: goto st44
case 40: goto tr112
case 41: goto tr113
case 59: goto st64
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr111:
// line 200 "zparse.rl"
{ lines++ }
goto st44
tr112:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st44
tr113:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st44
st44:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof44 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 44:
// line 1346 "zparse.go"
switch data[p] {
case 9: goto st44
case 10: goto tr111
case 32: goto st44
case 40: goto tr112
case 41: goto tr113
case 59: goto st64
case 95: goto tr115
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto tr115 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto tr115 }
} else if data[p] >= 65 {
goto tr115
}
} else {
goto tr115
2011-07-15 07:12:43 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr115:
// line 190 "zparse.rl"
{ mark = p }
goto st45
st45:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof45 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 45:
// line 1377 "zparse.go"
switch data[p] {
case 9: goto tr116
case 10: goto tr117
case 32: goto tr116
case 40: goto tr118
case 41: goto tr119
case 59: goto tr121
case 95: goto st45
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st45 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st45 }
} else if data[p] >= 65 {
goto st45
}
} else {
goto st45
2011-07-20 01:49:51 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr123:
// line 200 "zparse.rl"
{ lines++ }
goto st46
tr124:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st46
tr125:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st46
tr117:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st46
tr116:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
goto st46
tr118:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st46
tr119:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st46
st46:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof46 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 46:
// line 1438 "zparse.go"
switch data[p] {
case 9: goto st46
case 10: goto tr123
case 32: goto st46
case 40: goto tr124
case 41: goto tr125
case 59: goto st63
case 95: goto tr126
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto tr126 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto tr126 }
} else if data[p] >= 65 {
goto tr126
}
} else {
goto tr126
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr126:
// line 190 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st47
st47:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof47 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 47:
// line 1469 "zparse.go"
switch data[p] {
case 9: goto tr128
case 10: goto tr129
case 32: goto tr128
case 40: goto tr130
case 41: goto tr131
case 59: goto tr133
case 95: goto st47
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st47 }
} else if data[p] > 58 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st47 }
} else if data[p] >= 65 {
goto st47
}
} else {
goto st47
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr135:
// line 200 "zparse.rl"
{ lines++ }
goto st48
tr136:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st48
tr137:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st48
tr129:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st48
tr128:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
goto st48
tr130:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st48
tr131:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st48
st48:
2011-07-15 07:55:06 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof48 }
2011-07-15 07:55:06 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 48:
// line 1530 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st48
case 10: goto tr135
case 32: goto st48
case 40: goto tr136
case 41: goto tr137
case 59: goto st62
2011-07-15 07:55:06 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto tr138 }
goto st0
tr138:
// line 190 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st49
st49:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof49 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 49:
// line 1550 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr140
case 10: goto tr141
case 32: goto tr140
case 40: goto tr142
case 41: goto tr143
case 59: goto tr145
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto st49 }
goto st0
tr147:
// line 200 "zparse.rl"
{ lines++ }
goto st50
tr148:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st50
tr149:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st50
tr140:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st50
tr141:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st50
tr142:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st50
tr143:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st50
st50:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof50 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 50:
// line 1600 "zparse.go"
2011-07-19 01:40:55 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st50
case 10: goto tr147
case 32: goto st50
case 40: goto tr148
case 41: goto tr149
case 59: goto st61
2011-07-19 01:40:55 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto tr150 }
goto st0
tr150:
// line 190 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st51
st51:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof51 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 51:
// line 1620 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr152
case 10: goto tr153
case 32: goto tr152
case 40: goto tr154
case 41: goto tr155
case 59: goto tr157
2011-07-18 23:49:20 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto st51 }
goto st0
tr159:
// line 200 "zparse.rl"
{ lines++ }
goto st52
tr160:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st52
tr161:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st52
tr152:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st52
tr153:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st52
tr154:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st52
tr155:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st52
st52:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof52 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 52:
// line 1670 "zparse.go"
2011-07-15 05:14:55 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st52
case 10: goto tr159
case 32: goto st52
case 40: goto tr160
case 41: goto tr161
case 59: goto st60
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto tr162 }
goto st0
tr162:
// line 190 "zparse.rl"
{ mark = p }
goto st53
st53:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof53 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 53:
// line 1690 "zparse.go"
2011-07-15 05:14:55 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr164
case 10: goto tr165
case 32: goto tr164
case 40: goto tr166
case 41: goto tr167
case 59: goto tr169
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto st53 }
goto st0
tr171:
// line 200 "zparse.rl"
{ lines++ }
goto st54
tr172:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st54
tr173:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st54
tr164:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st54
tr165:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st54
tr166:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st54
tr167:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st54
st54:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof54 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 54:
// line 1740 "zparse.go"
2011-07-15 05:14:55 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st54
case 10: goto tr171
case 32: goto st54
case 40: goto tr172
case 41: goto tr173
case 59: goto st59
2011-07-15 05:14:55 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto tr174 }
goto st0
tr174:
// line 190 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st55
st55:
2011-07-15 05:14:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof55 }
2011-07-15 05:14:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 55:
// line 1760 "zparse.go"
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr176
case 10: goto tr177
case 32: goto tr176
case 40: goto tr178
case 41: goto tr179
case 59: goto tr181
2011-07-15 07:12:43 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto st55 }
goto st0
tr183:
// line 200 "zparse.rl"
{ lines++ }
goto st56
tr184:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st56
tr185:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st56
tr176:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st56
tr177:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st56
tr178:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st56
tr179:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st56
st56:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof56 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 56:
// line 1810 "zparse.go"
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st56
case 10: goto tr183
case 32: goto st56
case 40: goto tr184
case 41: goto tr185
case 59: goto st58
2011-07-15 07:12:43 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto tr186 }
goto st0
tr186:
// line 190 "zparse.rl"
{ mark = p }
goto st57
st57:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof57 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 57:
// line 1830 "zparse.go"
if data[p] == 10 { goto tr188 }
if 48 <= data[p] && data[p] <= 57 { goto st57 }
goto st0
tr230:
// line 200 "zparse.rl"
{ lines++ }
goto st91
tr188:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
// line 200 "zparse.rl"
{ lines++ }
goto st91
st91:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof91 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 91:
// line 1849 "zparse.go"
if data[p] == 10 { goto tr230 }
goto tr229
tr181:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st58
st58:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof58 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 58:
// line 1861 "zparse.go"
if data[p] == 10 { goto tr183 }
goto st58
tr169:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st59
st59:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof59 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 59:
// line 1873 "zparse.go"
if data[p] == 10 { goto tr171 }
goto st59
tr157:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st60
st60:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof60 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 60:
// line 1885 "zparse.go"
if data[p] == 10 { goto tr159 }
goto st60
tr145:
// line 195 "zparse.rl"
{ tok.pushInt(data[mark:p]) }
goto st61
st61:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof61 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 61:
// line 1897 "zparse.go"
if data[p] == 10 { goto tr147 }
goto st61
tr133:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
goto st62
st62:
2011-07-18 23:49:20 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof62 }
2011-07-18 23:49:20 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 62:
// line 1909 "zparse.go"
if data[p] == 10 { goto tr135 }
goto st62
tr121:
// line 196 "zparse.rl"
{ tok.pushString(data[mark:p]) }
goto st63
st63:
2011-07-18 23:49:20 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof63 }
2011-07-18 23:49:20 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 63:
// line 1921 "zparse.go"
if data[p] == 10 { goto tr123 }
goto st63
st64:
2011-07-20 01:49:51 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof64 }
2011-07-20 01:49:51 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 64:
if data[p] == 10 { goto tr111 }
goto st64
tr26:
// line 190 "zparse.rl"
2011-07-19 01:40:55 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st65
st65:
2011-07-18 23:49:20 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof65 }
2011-07-18 23:49:20 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 65:
// line 1940 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 72: goto st16
case 78: goto st21
case 83: goto st16
case 104: goto st16
case 110: goto st21
case 115: goto st16
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr27:
// line 190 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st66
st66:
2011-07-20 01:49:51 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof66 }
2011-07-20 01:49:51 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 66:
// line 1959 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 83: goto st16
case 115: goto st16
2011-07-19 01:40:55 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr28:
// line 190 "zparse.rl"
{ mark = p }
goto st67
st67:
2011-07-19 01:40:55 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof67 }
2011-07-19 01:40:55 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 67:
// line 1974 "zparse.go"
2011-07-18 23:49:20 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 78: goto st16
case 110: goto st16
2011-07-18 23:49:20 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr30:
// line 190 "zparse.rl"
2011-07-18 23:49:20 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st68
st68:
2011-07-18 23:49:20 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof68 }
2011-07-18 23:49:20 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 68:
// line 1989 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 79: goto st69
case 83: goto st37
case 111: goto st69
case 115: goto st37
2011-07-15 07:12:43 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st69:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof69 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 69:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 78: goto st70
case 110: goto st70
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st70:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof70 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 70:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 69: goto st16
case 101: goto st16
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr218:
// line 191 "zparse.rl"
{ hdr.Name = data[mark:p] }
goto st71
st71:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof71 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 71:
// line 2026 "zparse.go"
if data[p] == 10 { goto tr2 }
goto st71
tr7:
// line 190 "zparse.rl"
{ mark = p }
// line 193 "zparse.rl"
{ /* ... */ }
goto st72
st72:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof72 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 72:
// line 2040 "zparse.go"
switch data[p] {
case 9: goto st6
case 10: goto tr33
case 32: goto st6
case 40: goto tr34
case 41: goto tr35
case 59: goto st8
case 65: goto st9
case 78: goto st73
case 97: goto st9
case 110: goto st73
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st73:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof73 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 73:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 89: goto st74
case 121: goto st74
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st74:
2011-07-15 07:55:06 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof74 }
2011-07-15 07:55:06 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 74:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr194
case 10: goto tr195
case 32: goto tr194
case 40: goto tr196
case 41: goto tr197
case 59: goto tr198
2011-07-21 05:19:40 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
tr200:
// line 200 "zparse.rl"
{ lines++ }
goto st75
tr201:
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st75
tr202:
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st75
tr194:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
goto st75
tr195:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
// line 200 "zparse.rl"
{ lines++ }
goto st75
tr196:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
// line 197 "zparse.rl"
{ if brace { println("Brace already open")} ; brace = true }
goto st75
tr197:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
// line 198 "zparse.rl"
{ if !brace { println("Brace already closed")}; brace = false }
goto st75
st75:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof75 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 75:
// line 2117 "zparse.go"
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto st75
case 10: goto tr200
case 32: goto st75
case 40: goto tr201
case 41: goto tr202
case 59: goto st77
case 65: goto tr63
case 67: goto tr64
case 77: goto tr29
case 78: goto tr65
case 83: goto tr31
case 97: goto tr63
case 99: goto tr64
case 109: goto tr29
case 110: goto tr65
case 115: goto tr31
}
if 48 <= data[p] && data[p] <= 57 { goto tr203 }
goto st0
tr203:
// line 190 "zparse.rl"
2011-07-20 01:49:51 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
goto st76
st76:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof76 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 76:
// line 2147 "zparse.go"
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr205
case 10: goto tr206
case 32: goto tr205
case 40: goto tr207
case 41: goto tr208
case 59: goto tr210
2011-07-15 07:12:43 +10:00
}
2011-07-21 22:31:48 +10:00
if 48 <= data[p] && data[p] <= 57 { goto st76 }
2011-07-15 07:12:43 +10:00
goto st0
2011-07-21 22:31:48 +10:00
tr198:
// line 192 "zparse.rl"
{ hdr.Class = Str_class[data[mark:p]] }
goto st77
st77:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof77 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 77:
// line 2167 "zparse.go"
if data[p] == 10 { goto tr200 }
goto st77
tr8:
// line 190 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
// line 193 "zparse.rl"
{ /* ... */ }
goto st78
st78:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof78 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 78:
// line 2181 "zparse.go"
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 72: goto st74
case 78: goto st21
case 83: goto st74
case 104: goto st74
case 110: goto st21
case 115: goto st74
2011-07-15 07:12:43 +10:00
}
goto st0
2011-07-21 22:31:48 +10:00
tr9:
// line 190 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
// line 193 "zparse.rl"
{ /* ... */ }
goto st79
st79:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof79 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 79:
// line 2202 "zparse.go"
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 83: goto st74
case 115: goto st74
2011-07-15 07:12:43 +10:00
}
goto st0
2011-07-21 22:31:48 +10:00
tr10:
// line 190 "zparse.rl"
2011-07-21 05:19:40 +10:00
{ mark = p }
2011-07-21 22:31:48 +10:00
// line 193 "zparse.rl"
{ /* ... */ }
goto st80
st80:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof80 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 80:
// line 2219 "zparse.go"
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 78: goto st74
case 110: goto st74
2011-07-15 07:12:43 +10:00
}
goto st0
2011-07-21 22:31:48 +10:00
tr12:
// line 190 "zparse.rl"
{ mark = p }
// line 193 "zparse.rl"
{ /* ... */ }
goto st81
st81:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof81 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 81:
// line 2236 "zparse.go"
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 79: goto st82
case 83: goto st37
case 111: goto st82
case 115: goto st37
2011-07-15 07:12:43 +10:00
}
goto st0
2011-07-21 22:31:48 +10:00
st82:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof82 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 82:
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 78: goto st83
case 110: goto st83
2011-07-15 07:12:43 +10:00
}
goto st0
2011-07-21 22:31:48 +10:00
st83:
2011-07-15 07:12:43 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof83 }
2011-07-15 07:12:43 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 83:
2011-07-15 07:12:43 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 69: goto st74
case 101: goto st74
2011-07-20 01:49:51 +10:00
}
2011-07-21 22:31:48 +10:00
goto st0
st84:
2011-07-21 05:19:40 +10:00
p++
2011-07-21 22:31:48 +10:00
if p == pe { goto _test_eof84 }
2011-07-21 05:19:40 +10:00
fallthrough
2011-07-21 22:31:48 +10:00
case 84:
2011-07-21 05:19:40 +10:00
switch data[p] {
2011-07-21 22:31:48 +10:00
case 9: goto tr213
case 10: goto tr214
case 32: goto tr213
case 40: goto tr215
case 41: goto tr216
case 59: goto tr218
case 95: goto st84
}
if data[p] < 48 {
if 45 <= data[p] && data[p] <= 46 { goto st84 }
} else if data[p] > 57 {
if data[p] > 90 {
if 97 <= data[p] && data[p] <= 122 { goto st84 }
} else if data[p] >= 65 {
goto st84
}
} else {
goto st84
}
goto st0
}
2011-07-21 22:31:48 +10:00
_test_eof85: cs = 85; goto _test_eof;
2011-07-20 01:49:51 +10:00
_test_eof1: cs = 1; goto _test_eof;
_test_eof2: cs = 2; goto _test_eof;
_test_eof3: cs = 3; goto _test_eof;
_test_eof4: cs = 4; goto _test_eof;
_test_eof5: cs = 5; goto _test_eof;
_test_eof6: cs = 6; goto _test_eof;
_test_eof7: cs = 7; goto _test_eof;
2011-07-21 22:31:48 +10:00
_test_eof86: cs = 86; goto _test_eof;
_test_eof8: cs = 8; goto _test_eof;
_test_eof9: cs = 9; goto _test_eof;
2011-07-15 00:11:16 +10:00
_test_eof10: cs = 10; goto _test_eof;
_test_eof11: cs = 11; goto _test_eof;
_test_eof12: cs = 12; goto _test_eof;
_test_eof13: cs = 13; goto _test_eof;
2011-07-21 22:31:48 +10:00
_test_eof87: cs = 87; goto _test_eof;
2011-07-15 00:11:16 +10:00
_test_eof14: cs = 14; goto _test_eof;
_test_eof15: cs = 15; goto _test_eof;
_test_eof16: cs = 16; goto _test_eof;
_test_eof17: cs = 17; goto _test_eof;
_test_eof18: cs = 18; goto _test_eof;
_test_eof19: cs = 19; goto _test_eof;
_test_eof20: cs = 20; goto _test_eof;
_test_eof21: cs = 21; goto _test_eof;
2011-07-15 05:14:55 +10:00
_test_eof22: cs = 22; goto _test_eof;
_test_eof23: cs = 23; goto _test_eof;
_test_eof24: cs = 24; goto _test_eof;
_test_eof25: cs = 25; goto _test_eof;
_test_eof26: cs = 26; goto _test_eof;
2011-07-21 22:31:48 +10:00
_test_eof88: cs = 88; goto _test_eof;
2011-07-15 05:14:55 +10:00
_test_eof27: cs = 27; goto _test_eof;
_test_eof28: cs = 28; goto _test_eof;
_test_eof29: cs = 29; goto _test_eof;
_test_eof30: cs = 30; goto _test_eof;
_test_eof31: cs = 31; goto _test_eof;
_test_eof32: cs = 32; goto _test_eof;
_test_eof33: cs = 33; goto _test_eof;
2011-07-21 22:31:48 +10:00
_test_eof89: cs = 89; goto _test_eof;
2011-07-15 05:14:55 +10:00
_test_eof34: cs = 34; goto _test_eof;
_test_eof35: cs = 35; goto _test_eof;
2011-07-15 07:12:43 +10:00
_test_eof36: cs = 36; goto _test_eof;
_test_eof37: cs = 37; goto _test_eof;
_test_eof38: cs = 38; goto _test_eof;
_test_eof39: cs = 39; goto _test_eof;
2011-07-21 22:31:48 +10:00
_test_eof90: cs = 90; goto _test_eof;
2011-07-15 07:12:43 +10:00
_test_eof40: cs = 40; goto _test_eof;
_test_eof41: cs = 41; goto _test_eof;
_test_eof42: cs = 42; goto _test_eof;
_test_eof43: cs = 43; goto _test_eof;
_test_eof44: cs = 44; goto _test_eof;
_test_eof45: cs = 45; goto _test_eof;
_test_eof46: cs = 46; goto _test_eof;
_test_eof47: cs = 47; goto _test_eof;
_test_eof48: cs = 48; goto _test_eof;
_test_eof49: cs = 49; goto _test_eof;
_test_eof50: cs = 50; goto _test_eof;
_test_eof51: cs = 51; goto _test_eof;
_test_eof52: cs = 52; goto _test_eof;
_test_eof53: cs = 53; goto _test_eof;
_test_eof54: cs = 54; goto _test_eof;
_test_eof55: cs = 55; goto _test_eof;
_test_eof56: cs = 56; goto _test_eof;
_test_eof57: cs = 57; goto _test_eof;
2011-07-21 22:31:48 +10:00
_test_eof91: cs = 91; goto _test_eof;
2011-07-15 07:12:43 +10:00
_test_eof58: cs = 58; goto _test_eof;
2011-07-15 07:55:06 +10:00
_test_eof59: cs = 59; goto _test_eof;
_test_eof60: cs = 60; goto _test_eof;
_test_eof61: cs = 61; goto _test_eof;
_test_eof62: cs = 62; goto _test_eof;
_test_eof63: cs = 63; goto _test_eof;
_test_eof64: cs = 64; goto _test_eof;
_test_eof65: cs = 65; goto _test_eof;
_test_eof66: cs = 66; goto _test_eof;
_test_eof67: cs = 67; goto _test_eof;
_test_eof68: cs = 68; goto _test_eof;
_test_eof69: cs = 69; goto _test_eof;
_test_eof70: cs = 70; goto _test_eof;
_test_eof71: cs = 71; goto _test_eof;
_test_eof72: cs = 72; goto _test_eof;
_test_eof73: cs = 73; goto _test_eof;
_test_eof74: cs = 74; goto _test_eof;
_test_eof75: cs = 75; goto _test_eof;
_test_eof76: cs = 76; goto _test_eof;
_test_eof77: cs = 77; goto _test_eof;
_test_eof78: cs = 78; goto _test_eof;
_test_eof79: cs = 79; goto _test_eof;
_test_eof80: cs = 80; goto _test_eof;
_test_eof81: cs = 81; goto _test_eof;
_test_eof82: cs = 82; goto _test_eof;
_test_eof83: cs = 83; goto _test_eof;
_test_eof84: cs = 84; goto _test_eof;
_test_eof: {}
2011-07-21 22:31:48 +10:00
if p == eof {
switch cs {
case 86: goto tr219
case 87: goto tr221
case 88: goto tr223
case 89: goto tr225
case 90: goto tr227
case 91: goto tr229
}
}
2011-07-15 05:14:55 +10:00
_out: {}
}
2011-07-21 22:31:48 +10:00
// line 242 "zparse.rl"
2011-07-21 05:19:40 +10:00
if eof > -1 {
if cs < z_first_final {
// No clue what I'm doing what so ever
if p == pe {
println("unexpected eof")
return z, nil
} else {
2011-07-21 20:31:47 +10:00
println("error at position ", p, "\"",data[mark:p],"\"")
2011-07-21 05:19:40 +10:00
return z, nil
}
}
}
return z, nil
}