Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
og-rek
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
og-rek
Commits
543a53a6
Commit
543a53a6
authored
Jun 29, 2014
by
Kamil Kisiel
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #10 from Sean-Der/global-and-reduce-implementation
Global and reduce implementation
parents
c57544de
3a1a9479
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
2 deletions
+24
-2
ogórek.go
ogórek.go
+23
-2
ogórek_test.go
ogórek_test.go
+1
-0
No files found.
ogórek.go
View file @
543a53a6
...
@@ -399,8 +399,16 @@ func (d *Decoder) loadBinPersid() error {
...
@@ -399,8 +399,16 @@ func (d *Decoder) loadBinPersid() error {
return
errNotImplemented
return
errNotImplemented
}
}
type
Call
struct
{
Callable
Class
Args
[]
interface
{}
}
func
(
d
*
Decoder
)
reduce
()
error
{
func
(
d
*
Decoder
)
reduce
()
error
{
return
errNotImplemented
args
:=
d
.
pop
()
.
([]
interface
{})
class
:=
d
.
pop
()
.
(
Class
)
d
.
stack
=
append
(
d
.
stack
,
Call
{
Callable
:
class
,
Args
:
args
})
return
nil
}
}
func
decodeStringEscape
(
b
[]
byte
)
string
{
func
decodeStringEscape
(
b
[]
byte
)
string
{
...
@@ -527,8 +535,21 @@ func (d *Decoder) build() error {
...
@@ -527,8 +535,21 @@ func (d *Decoder) build() error {
return
errNotImplemented
return
errNotImplemented
}
}
type
Class
struct
{
Module
,
Name
string
}
func
(
d
*
Decoder
)
global
()
error
{
func
(
d
*
Decoder
)
global
()
error
{
return
errNotImplemented
module
,
_
,
err
:=
d
.
r
.
ReadLine
()
if
err
!=
nil
{
return
err
}
name
,
_
,
err
:=
d
.
r
.
ReadLine
()
if
err
!=
nil
{
return
err
}
d
.
stack
=
append
(
d
.
stack
,
Class
{
Module
:
string
(
module
),
Name
:
string
(
name
)})
return
nil
}
}
func
(
d
*
Decoder
)
loadDict
()
error
{
func
(
d
*
Decoder
)
loadDict
()
error
{
...
...
ogórek_test.go
View file @
543a53a6
...
@@ -50,6 +50,7 @@ func TestDecode(t *testing.T) {
...
@@ -50,6 +50,7 @@ func TestDecode(t *testing.T) {
{
"unicode"
,
"V
\\
u65e5
\\
u672c
\\
u8a9e
\n
p0
\n
."
,
string
(
"日本語"
)},
{
"unicode"
,
"V
\\
u65e5
\\
u672c
\\
u8a9e
\n
p0
\n
."
,
string
(
"日本語"
)},
{
"empty dict"
,
"(dp0
\n
."
,
make
(
map
[
interface
{}]
interface
{})},
{
"empty dict"
,
"(dp0
\n
."
,
make
(
map
[
interface
{}]
interface
{})},
{
"dict with strings"
,
"(dp0
\n
S'a'
\n
p1
\n
S'1'
\n
p2
\n
sS'b'
\n
p3
\n
S'2'
\n
p4
\n
s."
,
map
[
interface
{}]
interface
{}{
"a"
:
"1"
,
"b"
:
"2"
}},
{
"dict with strings"
,
"(dp0
\n
S'a'
\n
p1
\n
S'1'
\n
p2
\n
sS'b'
\n
p3
\n
S'2'
\n
p4
\n
s."
,
map
[
interface
{}]
interface
{}{
"a"
:
"1"
,
"b"
:
"2"
}},
{
"GLOBAL and REDUCE opcodes"
,
"cfoo
\n
bar
\n
S'bing'
\n\x85
R."
,
Call
{
Callable
:
Class
{
Module
:
"foo"
,
Name
:
"bar"
},
Args
:
[]
interface
{}
{
"bing"
}}},
{
"graphite message1"
,
string
(
graphitePickle1
),
[]
interface
{}{
map
[
interface
{}]
interface
{}{
"values"
:
[]
interface
{}{
float64
(
473
),
float64
(
497
),
float64
(
540
),
float64
(
1497
),
float64
(
1808
),
float64
(
1890
),
float64
(
2013
),
float64
(
1821
),
float64
(
1847
),
float64
(
2176
),
float64
(
2156
),
float64
(
1250
),
float64
(
2055
),
float64
(
1570
),
None
{},
None
{}},
"start"
:
int64
(
1383782400
),
"step"
:
int64
(
86400
),
"end"
:
int64
(
1385164800
),
"name"
:
"ZZZZ.UUUUUUUU.CCCCCCCC.MMMMMMMM.XXXXXXXXX.TTT"
}}},
{
"graphite message1"
,
string
(
graphitePickle1
),
[]
interface
{}{
map
[
interface
{}]
interface
{}{
"values"
:
[]
interface
{}{
float64
(
473
),
float64
(
497
),
float64
(
540
),
float64
(
1497
),
float64
(
1808
),
float64
(
1890
),
float64
(
2013
),
float64
(
1821
),
float64
(
1847
),
float64
(
2176
),
float64
(
2156
),
float64
(
1250
),
float64
(
2055
),
float64
(
1570
),
None
{},
None
{}},
"start"
:
int64
(
1383782400
),
"step"
:
int64
(
86400
),
"end"
:
int64
(
1385164800
),
"name"
:
"ZZZZ.UUUUUUUU.CCCCCCCC.MMMMMMMM.XXXXXXXXX.TTT"
}}},
{
"graphite message2"
,
string
(
graphitePickle2
),
[]
interface
{}{
map
[
interface
{}]
interface
{}{
"values"
:
[]
interface
{}{
float64
(
473
),
float64
(
497
),
float64
(
540
),
float64
(
1497
),
float64
(
1808
),
float64
(
1890
),
float64
(
2013
),
float64
(
1821
),
float64
(
1847
),
float64
(
2176
),
float64
(
2156
),
float64
(
1250
),
float64
(
2055
),
float64
(
1570
),
None
{},
None
{}},
"start"
:
int64
(
1383782400
),
"step"
:
int64
(
86400
),
"end"
:
int64
(
1385164800
),
"name"
:
"user.login.area.machine.metric.minute"
}}},
{
"graphite message2"
,
string
(
graphitePickle2
),
[]
interface
{}{
map
[
interface
{}]
interface
{}{
"values"
:
[]
interface
{}{
float64
(
473
),
float64
(
497
),
float64
(
540
),
float64
(
1497
),
float64
(
1808
),
float64
(
1890
),
float64
(
2013
),
float64
(
1821
),
float64
(
1847
),
float64
(
2176
),
float64
(
2156
),
float64
(
1250
),
float64
(
2055
),
float64
(
1570
),
None
{},
None
{}},
"start"
:
int64
(
1383782400
),
"step"
:
int64
(
86400
),
"end"
:
int64
(
1385164800
),
"name"
:
"user.login.area.machine.metric.minute"
}}},
{
"graphite message3"
,
string
(
graphitePickel3
),
[]
interface
{}{
map
[
interface
{}]
interface
{}{
"intervals"
:
[]
interface
{}{},
"metric_path"
:
"carbon.agents"
,
"isLeaf"
:
false
},
map
[
interface
{}]
interface
{}{
"intervals"
:
[]
interface
{}{},
"metric_path"
:
"carbon.aggregator"
,
"isLeaf"
:
false
},
map
[
interface
{}]
interface
{}{
"intervals"
:
[]
interface
{}{},
"metric_path"
:
"carbon.relays"
,
"isLeaf"
:
false
}}},
{
"graphite message3"
,
string
(
graphitePickel3
),
[]
interface
{}{
map
[
interface
{}]
interface
{}{
"intervals"
:
[]
interface
{}{},
"metric_path"
:
"carbon.agents"
,
"isLeaf"
:
false
},
map
[
interface
{}]
interface
{}{
"intervals"
:
[]
interface
{}{},
"metric_path"
:
"carbon.aggregator"
,
"isLeaf"
:
false
},
map
[
interface
{}]
interface
{}{
"intervals"
:
[]
interface
{}{},
"metric_path"
:
"carbon.relays"
,
"isLeaf"
:
false
}}},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment