Skip to content

Instantly share code, notes, and snippets.

@markbates
Last active May 21, 2019 17:09
Show Gist options
  • Save markbates/61489b22fa1c95603690c83e17570137 to your computer and use it in GitHub Desktop.
Save markbates/61489b22fa1c95603690c83e17570137 to your computer and use it in GitHub Desktop.
//
// return x
// // this is a comment
// // there are many like it
// // but this is mine
if false {
fmt.Println("in if")
} else if (1 == 2) {
fmt.Println("in else")
} else if true {
fmt.Println("2 == 2")
} else {
fmt.Println("in other else")
}
fmt.Println(time.Now())
d := time.ParseDuration("3s")
sleeper := func(max) {
let d = time.ParseDuration("1s")
i := 0
for {
fmt.Println(max, "xxx")
time.Sleep(d)
i = (i + 1)
if (i == max) {
break
}
}
}
go sleeper(5)
go sleeper(3)
time.Sleep(d)
zf := "Zoo Farm!"
qz := func(z) {
zf = "foo"
return "fubar"
}(zf)
a := {"foo": "bar"}
x := `
asdf
asd
fasd
fasdf
asdasdf
asdf
asd
fa
s
asdfjJ:w
`
fmt.Println(strings.ToUpper(x))
for x := range [1, 2, 3] {
fmt.Println(x)
fmt.Println(x)
}
for i, x := range [1, 2, 3] {
fmt.Println(i)
fmt.Println(x)
}
if abc := "ABC"; (abc ~= "^A") {
return "feel alright"
}
let is = "IS"
if true {
return 42
}
let sf = 1
xyz := func(x) {
return "foo"
}
if ("yes" == ("yes" == "yes")) {
fmt.Println("yes!")
}
if ("yes" != "no") {
fmt.Println("no!")
}
let a = 42
fmt.Println(a)
let b = 3.14
fmt.Println(b)
let c = func() {}
fmt.Println(c)
let x = 1
let d = func(x, a, b, c) {
let dd = "taking away my breath"
return dd, "something"
}
d(1, 2, 3, 4)
fmt.Println(d)
let e = true
let f = "tyhis is my string. \"don't\" ask me about it. :)"
let h = -42
let i = ["foo", "bar", 1, "this is i"]
let j = {"a": "b", "foo": "bar", "h": 1, "y": func(x) {}}
for (x, y) in i {
fmt.Println("array")
fmt.Println(x, y)
}
for (y) in i {
fmt.Println("array - single var")
fmt.Println(y)
}
for (x, y) in j {
fmt.Println("map")
fmt.Println(x, y)
}
for (x) in i {
fmt.Println("map - single var")
fmt.Println(x)
}
for (x, y) in j {
fmt.Println("break map")
break
fmt.Println(x, y)
}
for (x, y) in j {
fmt.Println("continue map")
continue
fmt.Println(x, y)
}
for (x, y) in i {
fmt.Println("break array")
break
fmt.Println(x, y)
}
for (x, y) in i {
fmt.Println("continue array")
continue
fmt.Println(x, y)
}
let someFunc = func(age, greeting) {
fmt.Println(age)
fmt.Println(greeting)
return age, greeting, "another value"
}
let k = someFunc(42, "hi")
let l = foo.Bar(func(c, d, x) {
let xyz = 3.14
doWork(xyz)
let zyx = func(arg1, arg2) {
doWork(arg1)
doWork(arg2)
}
return 1
})
let myFunc = func(a, b, c) {}
myFunc(a, b, c)
another(3.14, "foo", true)
user.Save()
yes := "yes"
match := (yes ~= `s$`)
fmt.Printf("--match %s %t\n", yes, match)
mat := (yes ~= yes)
fmt.Println("--mat")
fmt.Println(mat)
fmt.Println((5 + 10))
fmt.Println((5 - 10))
fmt.Println((5 * 10))
fmt.Println((5 / 10))
fmt.Println((10 % 6))
{
"ast.Script": {
"Statements": {
"ast.Statements": [
{
"ast.Comment": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 1,
"Offset": 0,
"Original": "// "
}
},
"Value": {
"string": ""
}
}
},
{
"ast.Comment": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 2,
"Offset": 4,
"Original": "// return x"
}
},
"Value": {
"string": "return x"
}
}
},
{
"ast.Comment": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 3,
"Offset": 16,
"Original": "// // this is a comment"
}
},
"Value": {
"string": "// this is a comment"
}
}
},
{
"ast.Comment": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 4,
"Offset": 40,
"Original": "// // there are many like it"
}
},
"Value": {
"string": "// there are many like it"
}
}
},
{
"ast.Comment": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 5,
"Offset": 69,
"Original": "// // but this is mine"
}
},
"Value": {
"string": "// but this is mine"
}
}
},
{
"ast.If": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 6,
"Offset": 101,
"Original": "{\n\tfmt.Println(\"in if\")\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 7,
"Offset": 116,
"Original": "\"in if\""
}
},
"Original": {
"string": "in if"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 7,
"Offset": 108,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 7,
"Offset": 104,
"Original": "fmt.Println(\"in if\")\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 7,
"Offset": 104,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Clause": {
"ast.ElseIf": {
"If": {
"ast.If": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 20,
"Filename": "./examples/big.lush",
"Line": 8,
"Offset": 144,
"Original": "{\n\tfmt.Println(\"in else\")\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 9,
"Offset": 159,
"Original": "\"in else\""
}
},
"Original": {
"string": "in else"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 9,
"Offset": 151,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 9,
"Offset": 147,
"Original": "fmt.Println(\"in else\")\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 9,
"Offset": 147,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Clause": {
"ast.ElseIf": {
"If": {
"ast.If": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 16,
"Filename": "./examples/big.lush",
"Line": 10,
"Offset": 185,
"Original": "{\n\tfmt.Println(\"2 == 2\")\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 11,
"Offset": 200,
"Original": "\"2 == 2\""
}
},
"Original": {
"string": "2 == 2"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 11,
"Offset": 192,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 11,
"Offset": 188,
"Original": "fmt.Println(\"2 == 2\")\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 11,
"Offset": 188,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Clause": {
"ast.Else": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 8,
"Filename": "./examples/big.lush",
"Line": 12,
"Offset": 217,
"Original": "{\n\tfmt.Println(\"in other else\")\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 13,
"Offset": 232,
"Original": "\"in other else\""
}
},
"Original": {
"string": "in other else"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 13,
"Offset": 224,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 13,
"Offset": 220,
"Original": "fmt.Println(\"in other else\")\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 13,
"Offset": 220,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 12,
"Offset": 212,
"Original": "else {\n\tfmt.Println(\"in other else\")\n}"
}
}
}
},
"Expression": {
"ast.Bool": {
"Meta": {
"ast.Meta": {
"Col": 11,
"Filename": "./examples/big.lush",
"Line": 10,
"Offset": 180,
"Original": "true"
}
},
"Value": {
"bool": true
}
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 10,
"Offset": 172,
"Original": "else if true {\n\tfmt.Println(\"2 == 2\")\n} else {\n\tfmt.Println(\"in other else\")\n}"
}
},
"PreCondition": null
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 10,
"Offset": 172,
"Original": "else if true {\n\tfmt.Println(\"2 == 2\")\n} else {\n\tfmt.Println(\"in other else\")\n}"
}
}
}
},
"Expression": {
"ast.OpExpression": {
"A": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 8,
"Offset": 136,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
},
"B": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 8,
"Offset": 141,
"Original": "2"
}
},
"Value": {
"int": 2
}
}
},
"Format": "%s %s %s",
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 8,
"Offset": 136,
"Original": "1 == 2"
}
},
"op": "=="
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 8,
"Offset": 127,
"Original": "else if (1 == 2) {\n\tfmt.Println(\"in else\")\n} else if true {\n\tfmt.Println(\"2 == 2\")\n} else {\n\tfmt.Println(\"in other else\")\n}"
}
},
"PreCondition": null
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 8,
"Offset": 127,
"Original": "else if (1 == 2) {\n\tfmt.Println(\"in else\")\n} else if true {\n\tfmt.Println(\"2 == 2\")\n} else {\n\tfmt.Println(\"in other else\")\n}"
}
}
}
},
"Expression": {
"ast.Bool": {
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 6,
"Offset": 95,
"Original": "false"
}
},
"Value": {
"bool": false
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 6,
"Offset": 92,
"Original": "if false {\n\tfmt.Println(\"in if\")\n} else if (1 == 2) {\n\tfmt.Println(\"in else\")\n} else if true {\n\tfmt.Println(\"2 == 2\")\n} else {\n\tfmt.Println(\"in other else\")\n}"
}
},
"PreCondition": null
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": null
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 18,
"Filename": "./examples/big.lush",
"Line": 16,
"Offset": 269,
"Original": "Now"
}
},
"Name": {
"string": "Now"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 16,
"Offset": 264,
"Original": "time.Now()"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 16,
"Offset": 264,
"Original": "time"
}
},
"Name": {
"string": "time"
}
}
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 16,
"Offset": 256,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 16,
"Offset": 252,
"Original": "fmt.Println(time.Now())\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 16,
"Offset": 252,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 18,
"Offset": 277,
"Original": "d := time.ParseDuration(\"3s\")\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 18,
"Offset": 277,
"Original": "d"
}
},
"Name": {
"string": "d"
}
}
},
"Value": {
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 25,
"Filename": "./examples/big.lush",
"Line": 18,
"Offset": 301,
"Original": "\"3s\""
}
},
"Original": {
"string": "3s"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 11,
"Filename": "./examples/big.lush",
"Line": 18,
"Offset": 287,
"Original": "ParseDuration"
}
},
"Name": {
"string": "ParseDuration"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 18,
"Offset": 282,
"Original": "time.ParseDuration(\"3s\")\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 18,
"Offset": 282,
"Original": "time"
}
},
"Name": {
"string": "time"
}
}
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 20,
"Offset": 308,
"Original": "sleeper := func(max) {\n\tlet d = time.ParseDuration(\"1s\")\n\n\ti := 0\n\n\tfor {\n\t\tfmt.Println(max, \"xxx\")\n\n\t\ttime.Sleep(d)\n\n\t\ti = (i + 1)\n\n\t\tif (i == max) {\n\t\t\tbreak\n\t\t}\n\t}\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 20,
"Offset": 308,
"Original": "sleeper"
}
},
"Name": {
"string": "sleeper"
}
}
},
"Value": {
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 20,
"Offset": 324,
"Original": "max"
}
},
"Name": {
"string": "max"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 22,
"Filename": "./examples/big.lush",
"Line": 20,
"Offset": 329,
"Original": "{\n\tlet d = time.ParseDuration(\"1s\")\n\n\ti := 0\n\n\tfor {\n\t\tfmt.Println(max, \"xxx\")\n\n\t\ttime.Sleep(d)\n\n\t\ti = (i + 1)\n\n\t\tif (i == max) {\n\t\t\tbreak\n\t\t}\n\t}\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 21,
"Offset": 332,
"Original": "let d = time.ParseDuration(\"1s\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 21,
"Offset": 336,
"Original": "d"
}
},
"Name": {
"string": "d"
}
}
},
"Value": {
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 29,
"Filename": "./examples/big.lush",
"Line": 21,
"Offset": 359,
"Original": "\"1s\""
}
},
"Original": {
"string": "1s"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 21,
"Offset": 345,
"Original": "ParseDuration"
}
},
"Name": {
"string": "ParseDuration"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 21,
"Offset": 340,
"Original": "time.ParseDuration(\"1s\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 21,
"Offset": 340,
"Original": "time"
}
},
"Name": {
"string": "time"
}
}
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 23,
"Offset": 367,
"Original": "i := 0"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 23,
"Offset": 367,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"Value": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 23,
"Offset": 372,
"Original": "0"
}
},
"Value": {
"int": 0
}
}
}
}
},
{
"ast.For": {
"Args": null,
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 25,
"Offset": 380,
"Original": "{\n\t\tfmt.Println(max, \"xxx\")\n\n\t\ttime.Sleep(d)\n\n\t\ti = (i + 1)\n\n\t\tif (i == max) {\n\t\t\tbreak\n\t\t}\n\t}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 26,
"Offset": 396,
"Original": "max"
}
},
"Name": {
"string": "max"
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 20,
"Filename": "./examples/big.lush",
"Line": 26,
"Offset": 401,
"Original": "\"xxx\""
}
},
"Original": {
"string": "xxx"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 26,
"Offset": 388,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 26,
"Offset": 384,
"Original": "fmt.Println(max, \"xxx\")\n\n\t\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 26,
"Offset": 384,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 28,
"Offset": 422,
"Original": "d"
}
},
"Name": {
"string": "d"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 8,
"Filename": "./examples/big.lush",
"Line": 28,
"Offset": 416,
"Original": "Sleep"
}
},
"Name": {
"string": "Sleep"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 28,
"Offset": 411,
"Original": "time.Sleep(d)\n\n\t\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 28,
"Offset": 411,
"Original": "time"
}
},
"Name": {
"string": "time"
}
}
}
}
},
{
"ast.Assign": {
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 30,
"Offset": 428,
"Original": "i = (i + 1)\n\n\t\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 30,
"Offset": 428,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"Value": {
"ast.OpExpression": {
"A": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 8,
"Filename": "./examples/big.lush",
"Line": 30,
"Offset": 433,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"B": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 30,
"Offset": 437,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 30,
"Offset": 432,
"Original": "(i + 1)\n\n\t\t"
}
},
"op": "+"
}
}
}
},
{
"ast.If": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 32,
"Offset": 457,
"Original": "{\n\t\t\tbreak\n\t\t}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Break": {
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 33,
"Offset": 462,
"Original": "break\n\t\t"
}
}
}
}
]
}
}
},
"Clause": null,
"Expression": {
"ast.OpExpression": {
"A": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 32,
"Offset": 447,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"B": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 32,
"Offset": 452,
"Original": "max"
}
},
"Name": {
"string": "max"
}
}
},
"Format": "%s %s %s",
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 32,
"Offset": 447,
"Original": "i == max"
}
},
"op": "=="
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 32,
"Offset": 443,
"Original": "if (i == max) {\n\t\t\tbreak\n\t\t}\n\t"
}
},
"PreCondition": null
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "./examples/big.lush",
"Line": 24,
"Offset": 373,
"Original": "\n\n\tfor {\n\t\tfmt.Println(max, \"xxx\")\n\n\t\ttime.Sleep(d)\n\n\t\ti = (i + 1)\n\n\t\tif (i == max) {\n\t\t\tbreak\n\t\t}\n\t}"
}
},
"Name": null,
"NormalSingle": false
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 20,
"Offset": 319,
"Original": "func(max) {\n\tlet d = time.ParseDuration(\"1s\")\n\n\ti := 0\n\n\tfor {\n\t\tfmt.Println(max, \"xxx\")\n\n\t\ttime.Sleep(d)\n\n\t\ti = (i + 1)\n\n\t\tif (i == max) {\n\t\t\tbreak\n\t\t}\n\t}\n}"
}
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 38,
"Offset": 489,
"Original": "5"
}
},
"Value": {
"int": 5
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": true
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 38,
"Offset": 481,
"Original": "sleeper(5)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 38,
"Offset": 481,
"Original": "sleeper"
}
},
"Name": {
"string": "sleeper"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 40,
"Offset": 504,
"Original": "3"
}
},
"Value": {
"int": 3
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": true
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 40,
"Offset": 496,
"Original": "sleeper(3)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 40,
"Offset": 496,
"Original": "sleeper"
}
},
"Name": {
"string": "sleeper"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 42,
"Offset": 519,
"Original": "d"
}
},
"Name": {
"string": "d"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 42,
"Offset": 513,
"Original": "Sleep"
}
},
"Name": {
"string": "Sleep"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 42,
"Offset": 508,
"Original": "time.Sleep(d)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 42,
"Offset": 508,
"Original": "time"
}
},
"Name": {
"string": "time"
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 44,
"Offset": 523,
"Original": "zf := \"Zoo Farm!\""
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 44,
"Offset": 523,
"Original": "zf"
}
},
"Name": {
"string": "zf"
}
}
},
"Value": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 44,
"Offset": 529,
"Original": "\"Zoo Farm!\""
}
},
"Original": {
"string": "Zoo Farm!"
},
"QuoteFormat": {
"string": "%q"
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 46,
"Offset": 542,
"Original": "qz := func(z) {\n\tzf = \"foo\"\n\n\treturn \"fubar\"\n}(zf)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 46,
"Offset": 542,
"Original": "qz"
}
},
"Name": {
"string": "qz"
}
}
},
"Value": {
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 50,
"Offset": 589,
"Original": "zf"
}
},
"Name": {
"string": "zf"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 46,
"Offset": 548,
"Original": "func(z) {\n\tzf = \"foo\"\n\n\treturn \"fubar\"\n}(zf)\n\n"
}
},
"Name": {
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 46,
"Offset": 553,
"Original": "z"
}
},
"Name": {
"string": "z"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 46,
"Offset": 556,
"Original": "{\n\tzf = \"foo\"\n\n\treturn \"fubar\"\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Assign": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 47,
"Offset": 559,
"Original": "zf = \"foo\""
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 47,
"Offset": 559,
"Original": "zf"
}
},
"Name": {
"string": "zf"
}
}
},
"Value": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 47,
"Offset": 564,
"Original": "\"foo\""
}
},
"Original": {
"string": "foo"
},
"QuoteFormat": {
"string": "%q"
}
}
}
}
},
{
"ast.Return": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "./examples/big.lush",
"Line": 48,
"Offset": 569,
"Original": "\n\n\treturn \"fubar\"\n"
}
},
"Statements": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 49,
"Offset": 579,
"Original": "\"fubar\""
}
},
"Original": {
"string": "fubar"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 46,
"Offset": 548,
"Original": "func(z) {\n\tzf = \"foo\"\n\n\treturn \"fubar\"\n}"
}
}
}
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 52,
"Offset": 594,
"Original": "a := {\"foo\": \"bar\"}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 52,
"Offset": 594,
"Original": "a"
}
},
"Name": {
"string": "a"
}
}
},
"Value": {
"ast.Map": {
"Values": [
[
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 7,
"Filename": "./examples/big.lush",
"Line": 52,
"Offset": 600,
"Original": "\"foo\""
}
},
"Original": {
"string": "foo"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 52,
"Offset": 607,
"Original": "\"bar\""
}
},
"Original": {
"string": "bar"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
]
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 54,
"Offset": 615,
"Original": "x := `\nasdf\nasd\nfasd\nfasdf\nasdasdf\nasdf\nasd\nfa\ns\nasdfjJ:w\n\n`"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 54,
"Offset": 615,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
"Value": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 54,
"Offset": 620,
"Original": "`\nasdf\nasd\nfasd\nfasdf\nasdasdf\nasdf\nasd\nfa\ns\nasdfjJ:w\n\n`"
}
},
"Original": {
"string": "\nasdf\nasd\nfasd\nfasdf\nasdasdf\nasdf\nasd\nfa\ns\nasdfjJ:w\n\n"
},
"QuoteFormat": {
"string": "`%s`"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 29,
"Filename": "./examples/big.lush",
"Line": 68,
"Offset": 705,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 21,
"Filename": "./examples/big.lush",
"Line": 68,
"Offset": 697,
"Original": "ToUpper"
}
},
"Name": {
"string": "ToUpper"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 68,
"Offset": 689,
"Original": "strings.ToUpper(x)"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 68,
"Offset": 689,
"Original": "strings"
}
},
"Name": {
"string": "strings"
}
}
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 68,
"Offset": 681,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 68,
"Offset": 677,
"Original": "fmt.Println(strings.ToUpper(x))\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 68,
"Offset": 677,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Range": {
"For": {
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 70,
"Offset": 714,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 26,
"Filename": "./examples/big.lush",
"Line": 70,
"Offset": 735,
"Original": "{\n\tfmt.Println(x)\n\n\tfmt.Println(x)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 71,
"Offset": 750,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 71,
"Offset": 742,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 71,
"Offset": 738,
"Original": "fmt.Println(x)\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 71,
"Offset": 738,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 73,
"Offset": 767,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 73,
"Offset": 759,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 73,
"Offset": 755,
"Original": "fmt.Println(x)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 73,
"Offset": 755,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"ast.Array": {
"Meta": {
"ast.Meta": {
"Col": 16,
"Filename": "./examples/big.lush",
"Line": 70,
"Offset": 725,
"Original": "[1, 2, 3]"
}
},
"Value": {
"[]interface {}": [
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 70,
"Offset": 726,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 20,
"Filename": "./examples/big.lush",
"Line": 70,
"Offset": 729,
"Original": "2"
}
},
"Value": {
"int": 2
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 23,
"Filename": "./examples/big.lush",
"Line": 70,
"Offset": 732,
"Original": "3"
}
},
"Value": {
"int": 3
}
}
}
]
}
}
},
"NormalSingle": true
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 70,
"Offset": 710,
"Original": "for x := range [1, 2, 3] {\n\tfmt.Println(x)\n\n\tfmt.Println(x)\n}"
}
}
}
},
{
"ast.Range": {
"For": {
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 76,
"Offset": 777,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 8,
"Filename": "./examples/big.lush",
"Line": 76,
"Offset": 780,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 29,
"Filename": "./examples/big.lush",
"Line": 76,
"Offset": 801,
"Original": "{\n\tfmt.Println(i)\n\n\tfmt.Println(x)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 77,
"Offset": 816,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 77,
"Offset": 808,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 77,
"Offset": 804,
"Original": "fmt.Println(i)\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 77,
"Offset": 804,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 79,
"Offset": 833,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 79,
"Offset": 825,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 79,
"Offset": 821,
"Original": "fmt.Println(x)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 79,
"Offset": 821,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"ast.Array": {
"Meta": {
"ast.Meta": {
"Col": 19,
"Filename": "./examples/big.lush",
"Line": 76,
"Offset": 791,
"Original": "[1, 2, 3]"
}
},
"Value": {
"[]interface {}": [
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 20,
"Filename": "./examples/big.lush",
"Line": 76,
"Offset": 792,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 23,
"Filename": "./examples/big.lush",
"Line": 76,
"Offset": 795,
"Original": "2"
}
},
"Value": {
"int": 2
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 26,
"Filename": "./examples/big.lush",
"Line": 76,
"Offset": 798,
"Original": "3"
}
},
"Value": {
"int": 3
}
}
}
]
}
}
},
"NormalSingle": true
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 76,
"Offset": 773,
"Original": "for i, x := range [1, 2, 3] {\n\tfmt.Println(i)\n\n\tfmt.Println(x)\n}"
}
}
}
},
{
"ast.If": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 32,
"Filename": "./examples/big.lush",
"Line": 82,
"Offset": 870,
"Original": "{\n\treturn \"feel alright\"\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Return": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 83,
"Offset": 873,
"Original": "return \"feel alright\"\n"
}
},
"Statements": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 83,
"Offset": 880,
"Original": "\"feel alright\""
}
},
"Original": {
"string": "feel alright"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
}
}
}
]
}
}
},
"Clause": null,
"Expression": {
"ast.OpExpression": {
"A": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 19,
"Filename": "./examples/big.lush",
"Line": 82,
"Offset": 857,
"Original": "abc"
}
},
"Name": {
"string": "abc"
}
}
},
"B": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 26,
"Filename": "./examples/big.lush",
"Line": 82,
"Offset": 864,
"Original": "\"^A\""
}
},
"Original": {
"string": "^A"
},
"QuoteFormat": {
"string": "%q"
}
}
},
"Format": "%s %s %s",
"Meta": {
"ast.Meta": {
"Col": 19,
"Filename": "./examples/big.lush",
"Line": 82,
"Offset": 857,
"Original": "abc ~= \"^A\""
}
},
"op": "~="
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 82,
"Offset": 839,
"Original": "if abc := \"ABC\"; (abc ~= \"^A\") {\n\treturn \"feel alright\"\n}\n\n"
}
},
"PreCondition": {
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 82,
"Offset": 842,
"Original": "abc := \"ABC\""
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 82,
"Offset": 842,
"Original": "abc"
}
},
"Name": {
"string": "abc"
}
}
},
"Value": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 11,
"Filename": "./examples/big.lush",
"Line": 82,
"Offset": 849,
"Original": "\"ABC\""
}
},
"Original": {
"string": "ABC"
},
"QuoteFormat": {
"string": "%q"
}
}
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 86,
"Offset": 898,
"Original": "let is = \"IS\""
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 86,
"Offset": 902,
"Original": "is"
}
},
"Name": {
"string": "is"
}
}
},
"Value": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 86,
"Offset": 907,
"Original": "\"IS\""
}
},
"Original": {
"string": "IS"
},
"QuoteFormat": {
"string": "%q"
}
}
}
}
},
{
"ast.If": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 88,
"Offset": 921,
"Original": "{\n\treturn 42\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Return": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 89,
"Offset": 924,
"Original": "return 42\n"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 89,
"Offset": 931,
"Original": "42"
}
},
"Value": {
"int": 42
}
}
}
]
}
}
}
]
}
}
},
"Clause": null,
"Expression": {
"ast.Bool": {
"Meta": {
"ast.Meta": {
"Col": 4,
"Filename": "./examples/big.lush",
"Line": 88,
"Offset": 916,
"Original": "true"
}
},
"Value": {
"bool": true
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 88,
"Offset": 913,
"Original": "if true {\n\treturn 42\n}\n\n"
}
},
"PreCondition": null
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 92,
"Offset": 937,
"Original": "let sf = 1"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 92,
"Offset": 941,
"Original": "sf"
}
},
"Name": {
"string": "sf"
}
}
},
"Value": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 92,
"Offset": 946,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 94,
"Offset": 949,
"Original": "xyz := func(x) {\n\treturn \"foo\"\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 94,
"Offset": 949,
"Original": "xyz"
}
},
"Name": {
"string": "xyz"
}
}
},
"Value": {
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 94,
"Offset": 961,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 16,
"Filename": "./examples/big.lush",
"Line": 94,
"Offset": 964,
"Original": "{\n\treturn \"foo\"\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Return": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 95,
"Offset": 967,
"Original": "return \"foo\"\n"
}
},
"Statements": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 95,
"Offset": 974,
"Original": "\"foo\""
}
},
"Original": {
"string": "foo"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 8,
"Filename": "./examples/big.lush",
"Line": 94,
"Offset": 956,
"Original": "func(x) {\n\treturn \"foo\"\n}"
}
}
}
}
}
},
{
"ast.If": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 32,
"Filename": "./examples/big.lush",
"Line": 98,
"Offset": 1014,
"Original": "{\n\tfmt.Println(\"yes!\")\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 99,
"Offset": 1029,
"Original": "\"yes!\""
}
},
"Original": {
"string": "yes!"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 99,
"Offset": 1021,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 99,
"Offset": 1017,
"Original": "fmt.Println(\"yes!\")\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 99,
"Offset": 1017,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Clause": null,
"Expression": {
"ast.OpExpression": {
"A": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 98,
"Offset": 987,
"Original": "\"yes\""
}
},
"Original": {
"string": "yes"
},
"QuoteFormat": {
"string": "%q"
}
}
},
"B": {
"ast.OpExpression": {
"A": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 98,
"Offset": 997,
"Original": "\"yes\""
}
},
"Original": {
"string": "yes"
},
"QuoteFormat": {
"string": "%q"
}
}
},
"B": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 24,
"Filename": "./examples/big.lush",
"Line": 98,
"Offset": 1006,
"Original": "\"yes\""
}
},
"Original": {
"string": "yes"
},
"QuoteFormat": {
"string": "%q"
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 98,
"Offset": 996,
"Original": "(\"yes\" == \"yes\")"
}
},
"op": "=="
}
},
"Format": "%s %s %s",
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 98,
"Offset": 987,
"Original": "\"yes\" == (\"yes\" == \"yes\")"
}
},
"op": "=="
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 98,
"Offset": 983,
"Original": "if (\"yes\" == (\"yes\" == \"yes\")) {\n\tfmt.Println(\"yes!\")\n}\n\n"
}
},
"PreCondition": null
}
},
{
"ast.If": {
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 20,
"Filename": "./examples/big.lush",
"Line": 102,
"Offset": 1059,
"Original": "{\n\tfmt.Println(\"no!\")\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 103,
"Offset": 1074,
"Original": "\"no!\""
}
},
"Original": {
"string": "no!"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 103,
"Offset": 1066,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 103,
"Offset": 1062,
"Original": "fmt.Println(\"no!\")\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 103,
"Offset": 1062,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Clause": null,
"Expression": {
"ast.OpExpression": {
"A": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 102,
"Offset": 1044,
"Original": "\"yes\""
}
},
"Original": {
"string": "yes"
},
"QuoteFormat": {
"string": "%q"
}
}
},
"B": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 102,
"Offset": 1053,
"Original": "\"no\""
}
},
"Original": {
"string": "no"
},
"QuoteFormat": {
"string": "%q"
}
}
},
"Format": "%s %s %s",
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 102,
"Offset": 1044,
"Original": "\"yes\" != \"no\""
}
},
"op": "!="
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 102,
"Offset": 1040,
"Original": "if (\"yes\" != \"no\") {\n\tfmt.Println(\"no!\")\n}\n\n"
}
},
"PreCondition": null
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 106,
"Offset": 1084,
"Original": "let a = 42"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 106,
"Offset": 1088,
"Original": "a"
}
},
"Name": {
"string": "a"
}
}
},
"Value": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 106,
"Offset": 1092,
"Original": "42"
}
},
"Value": {
"int": 42
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 108,
"Offset": 1108,
"Original": "a"
}
},
"Name": {
"string": "a"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 108,
"Offset": 1100,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 108,
"Offset": 1096,
"Original": "fmt.Println(a)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 108,
"Offset": 1096,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 110,
"Offset": 1112,
"Original": "let b = 3.14"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 110,
"Offset": 1116,
"Original": "b"
}
},
"Name": {
"string": "b"
}
}
},
"Value": {
"ast.Float": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 110,
"Offset": 1120,
"Original": "3.14"
}
},
"Value": 3.14
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 112,
"Offset": 1138,
"Original": "b"
}
},
"Name": {
"string": "b"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 112,
"Offset": 1130,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 112,
"Offset": 1126,
"Original": "fmt.Println(b)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 112,
"Offset": 1126,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 114,
"Offset": 1142,
"Original": "let c = func() {}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 114,
"Offset": 1146,
"Original": "c"
}
},
"Name": {
"string": "c"
}
}
},
"Value": {
"ast.Func": {
"Arguments": null,
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 16,
"Filename": "./examples/big.lush",
"Line": 114,
"Offset": 1157,
"Original": "{}"
}
},
"Statements": {
"ast.Statements": null
}
}
},
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 114,
"Offset": 1150,
"Original": "func() {}"
}
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 116,
"Offset": 1173,
"Original": "c"
}
},
"Name": {
"string": "c"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 116,
"Offset": 1165,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 116,
"Offset": 1161,
"Original": "fmt.Println(c)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 116,
"Offset": 1161,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 118,
"Offset": 1177,
"Original": "let x = 1"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 118,
"Offset": 1181,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
"Value": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 118,
"Offset": 1185,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 120,
"Offset": 1188,
"Original": "let d = func(x, a, b, c) {\n\tlet dd = \"taking away my breath\"\n\n\treturn dd, \"something\"\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 120,
"Offset": 1192,
"Original": "d"
}
},
"Name": {
"string": "d"
}
}
},
"Value": {
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 120,
"Offset": 1201,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 120,
"Offset": 1204,
"Original": "a"
}
},
"Name": {
"string": "a"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 20,
"Filename": "./examples/big.lush",
"Line": 120,
"Offset": 1207,
"Original": "b"
}
},
"Name": {
"string": "b"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 23,
"Filename": "./examples/big.lush",
"Line": 120,
"Offset": 1210,
"Original": "c"
}
},
"Name": {
"string": "c"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 26,
"Filename": "./examples/big.lush",
"Line": 120,
"Offset": 1213,
"Original": "{\n\tlet dd = \"taking away my breath\"\n\n\treturn dd, \"something\"\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 121,
"Offset": 1216,
"Original": "let dd = \"taking away my breath\""
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 121,
"Offset": 1220,
"Original": "dd"
}
},
"Name": {
"string": "dd"
}
}
},
"Value": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 11,
"Filename": "./examples/big.lush",
"Line": 121,
"Offset": 1225,
"Original": "\"taking away my breath\""
}
},
"Original": {
"string": "taking away my breath"
},
"QuoteFormat": {
"string": "%q"
}
}
}
}
},
{
"ast.Return": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "./examples/big.lush",
"Line": 122,
"Offset": 1248,
"Original": "\n\n\treturn dd, \"something\"\n"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 123,
"Offset": 1258,
"Original": "dd"
}
},
"Name": {
"string": "dd"
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 123,
"Offset": 1262,
"Original": "\"something\""
}
},
"Original": {
"string": "something"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 120,
"Offset": 1196,
"Original": "func(x, a, b, c) {\n\tlet dd = \"taking away my breath\"\n\n\treturn dd, \"something\"\n}"
}
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 126,
"Offset": 1279,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 126,
"Offset": 1282,
"Original": "2"
}
},
"Value": {
"int": 2
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 126,
"Offset": 1285,
"Original": "3"
}
},
"Value": {
"int": 3
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 126,
"Offset": 1288,
"Original": "4"
}
},
"Value": {
"int": 4
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 126,
"Offset": 1277,
"Original": "d(1, 2, 3, 4)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 126,
"Offset": 1277,
"Original": "d"
}
},
"Name": {
"string": "d"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 128,
"Offset": 1304,
"Original": "d"
}
},
"Name": {
"string": "d"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 128,
"Offset": 1296,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 128,
"Offset": 1292,
"Original": "fmt.Println(d)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 128,
"Offset": 1292,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 130,
"Offset": 1308,
"Original": "let e = true"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 130,
"Offset": 1312,
"Original": "e"
}
},
"Name": {
"string": "e"
}
}
},
"Value": {
"ast.Bool": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 130,
"Offset": 1316,
"Original": "true"
}
},
"Value": {
"bool": true
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 132,
"Offset": 1322,
"Original": "let f = \"tyhis is my string. \\\"don't\\\" ask me about it. :)\""
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 132,
"Offset": 1326,
"Original": "f"
}
},
"Name": {
"string": "f"
}
}
},
"Value": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 132,
"Offset": 1330,
"Original": "\"tyhis is my string. \\\"don't\\\" ask me about it. :)\""
}
},
"Original": {
"string": "tyhis is my string. \"don't\" ask me about it. :)"
},
"QuoteFormat": {
"string": "%q"
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 134,
"Offset": 1383,
"Original": "let h = -42"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 134,
"Offset": 1387,
"Original": "h"
}
},
"Name": {
"string": "h"
}
}
},
"Value": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 134,
"Offset": 1391,
"Original": "-42"
}
},
"Value": {
"int": -42
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 136,
"Offset": 1396,
"Original": "let i = [\"foo\", \"bar\", 1, \"this is i\"]"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 136,
"Offset": 1400,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"Value": {
"ast.Array": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 136,
"Offset": 1404,
"Original": "[\"foo\", \"bar\", 1, \"this is i\"]"
}
},
"Value": {
"[]interface {}": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 136,
"Offset": 1405,
"Original": "\"foo\""
}
},
"Original": {
"string": "foo"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 136,
"Offset": 1412,
"Original": "\"bar\""
}
},
"Original": {
"string": "bar"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 24,
"Filename": "./examples/big.lush",
"Line": 136,
"Offset": 1419,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 27,
"Filename": "./examples/big.lush",
"Line": 136,
"Offset": 1422,
"Original": "\"this is i\""
}
},
"Original": {
"string": "this is i"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1436,
"Original": "let j = {\"a\": \"b\", \"foo\": \"bar\", \"h\": 1, \"y\": func(x) {}}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1440,
"Original": "j"
}
},
"Name": {
"string": "j"
}
}
},
"Value": {
"ast.Map": {
"Values": [
[
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1445,
"Original": "\"a\""
}
},
"Original": {
"string": "a"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1450,
"Original": "\"b\""
}
},
"Original": {
"string": "b"
},
"QuoteFormat": {
"string": "%q"
}
}
}
],
[
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 20,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1455,
"Original": "\"foo\""
}
},
"Original": {
"string": "foo"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 27,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1462,
"Original": "\"bar\""
}
},
"Original": {
"string": "bar"
},
"QuoteFormat": {
"string": "%q"
}
}
}
],
[
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 34,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1469,
"Original": "\"h\""
}
},
"Original": {
"string": "h"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 39,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1474,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
}
],
[
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 42,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1477,
"Original": "\"y\""
}
},
"Original": {
"string": "y"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 52,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1487,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 55,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1490,
"Original": "{}"
}
},
"Statements": {
"ast.Statements": null
}
}
},
"Meta": {
"ast.Meta": {
"Col": 47,
"Filename": "./examples/big.lush",
"Line": 138,
"Offset": 1482,
"Original": "func(x) {}"
}
}
}
}
]
]
}
}
}
},
{
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 140,
"Offset": 1500,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 140,
"Offset": 1503,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 140,
"Offset": 1511,
"Original": "{\n\tfmt.Println(\"array\")\n\n\tfmt.Println(x, y)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 141,
"Offset": 1526,
"Original": "\"array\""
}
},
"Original": {
"string": "array"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 141,
"Offset": 1518,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 141,
"Offset": 1514,
"Original": "fmt.Println(\"array\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 141,
"Offset": 1514,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 143,
"Offset": 1549,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 143,
"Offset": 1552,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 143,
"Offset": 1541,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 143,
"Offset": 1537,
"Original": "fmt.Println(x, y)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 143,
"Offset": 1537,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 140,
"Offset": 1495,
"Original": "for (x, y) in i {\n\tfmt.Println(\"array\")\n\n\tfmt.Println(x, y)\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 140,
"Offset": 1509,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"NormalSingle": false
}
},
{
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 146,
"Offset": 1563,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 146,
"Offset": 1571,
"Original": "{\n\tfmt.Println(\"array - single var\")\n\n\tfmt.Println(y)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 147,
"Offset": 1586,
"Original": "\"array - single var\""
}
},
"Original": {
"string": "array - single var"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 147,
"Offset": 1578,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 147,
"Offset": 1574,
"Original": "fmt.Println(\"array - single var\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 147,
"Offset": 1574,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 149,
"Offset": 1622,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 149,
"Offset": 1614,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 149,
"Offset": 1610,
"Original": "fmt.Println(y)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 149,
"Offset": 1610,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 146,
"Offset": 1558,
"Original": "for (y) in i {\n\tfmt.Println(\"array - single var\")\n\n\tfmt.Println(y)\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 146,
"Offset": 1569,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"NormalSingle": false
}
},
{
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 152,
"Offset": 1633,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 152,
"Offset": 1636,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 152,
"Offset": 1644,
"Original": "{\n\tfmt.Println(\"map\")\n\n\tfmt.Println(x, y)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 153,
"Offset": 1659,
"Original": "\"map\""
}
},
"Original": {
"string": "map"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 153,
"Offset": 1651,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 153,
"Offset": 1647,
"Original": "fmt.Println(\"map\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 153,
"Offset": 1647,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 155,
"Offset": 1680,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 155,
"Offset": 1683,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 155,
"Offset": 1672,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 155,
"Offset": 1668,
"Original": "fmt.Println(x, y)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 155,
"Offset": 1668,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 152,
"Offset": 1628,
"Original": "for (x, y) in j {\n\tfmt.Println(\"map\")\n\n\tfmt.Println(x, y)\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 152,
"Offset": 1642,
"Original": "j"
}
},
"Name": {
"string": "j"
}
}
},
"NormalSingle": false
}
},
{
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 158,
"Offset": 1694,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 158,
"Offset": 1702,
"Original": "{\n\tfmt.Println(\"map - single var\")\n\n\tfmt.Println(x)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 159,
"Offset": 1717,
"Original": "\"map - single var\""
}
},
"Original": {
"string": "map - single var"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 159,
"Offset": 1709,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 159,
"Offset": 1705,
"Original": "fmt.Println(\"map - single var\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 159,
"Offset": 1705,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 161,
"Offset": 1751,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 161,
"Offset": 1743,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 161,
"Offset": 1739,
"Original": "fmt.Println(x)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 161,
"Offset": 1739,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 158,
"Offset": 1689,
"Original": "for (x) in i {\n\tfmt.Println(\"map - single var\")\n\n\tfmt.Println(x)\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 158,
"Offset": 1700,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"NormalSingle": false
}
},
{
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 164,
"Offset": 1762,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 164,
"Offset": 1765,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 164,
"Offset": 1773,
"Original": "{\n\tfmt.Println(\"break map\")\n\n\tbreak\n\n\tfmt.Println(x, y)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 165,
"Offset": 1788,
"Original": "\"break map\""
}
},
"Original": {
"string": "break map"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 165,
"Offset": 1780,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 165,
"Offset": 1776,
"Original": "fmt.Println(\"break map\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 165,
"Offset": 1776,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Break": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 167,
"Offset": 1803,
"Original": "break\n\n\t"
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 169,
"Offset": 1823,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 169,
"Offset": 1826,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 169,
"Offset": 1815,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 169,
"Offset": 1811,
"Original": "fmt.Println(x, y)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 169,
"Offset": 1811,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 164,
"Offset": 1757,
"Original": "for (x, y) in j {\n\tfmt.Println(\"break map\")\n\n\tbreak\n\n\tfmt.Println(x, y)\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 164,
"Offset": 1771,
"Original": "j"
}
},
"Name": {
"string": "j"
}
}
},
"NormalSingle": false
}
},
{
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 172,
"Offset": 1837,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 172,
"Offset": 1840,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 172,
"Offset": 1848,
"Original": "{\n\tfmt.Println(\"continue map\")\n\n\tcontinue\n\n\tfmt.Println(x, y)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 173,
"Offset": 1863,
"Original": "\"continue map\""
}
},
"Original": {
"string": "continue map"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 173,
"Offset": 1855,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 173,
"Offset": 1851,
"Original": "fmt.Println(\"continue map\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 173,
"Offset": 1851,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Continue": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 175,
"Offset": 1881,
"Original": "continue\n\n\t"
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 177,
"Offset": 1904,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 177,
"Offset": 1907,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 177,
"Offset": 1896,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 177,
"Offset": 1892,
"Original": "fmt.Println(x, y)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 177,
"Offset": 1892,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 172,
"Offset": 1832,
"Original": "for (x, y) in j {\n\tfmt.Println(\"continue map\")\n\n\tcontinue\n\n\tfmt.Println(x, y)\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 172,
"Offset": 1846,
"Original": "j"
}
},
"Name": {
"string": "j"
}
}
},
"NormalSingle": false
}
},
{
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 180,
"Offset": 1918,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 180,
"Offset": 1921,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 180,
"Offset": 1929,
"Original": "{\n\tfmt.Println(\"break array\")\n\n\tbreak\n\n\tfmt.Println(x, y)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 181,
"Offset": 1944,
"Original": "\"break array\""
}
},
"Original": {
"string": "break array"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 181,
"Offset": 1936,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 181,
"Offset": 1932,
"Original": "fmt.Println(\"break array\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 181,
"Offset": 1932,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Break": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 183,
"Offset": 1961,
"Original": "break\n\n\t"
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 185,
"Offset": 1981,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 185,
"Offset": 1984,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 185,
"Offset": 1973,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 185,
"Offset": 1969,
"Original": "fmt.Println(x, y)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 185,
"Offset": 1969,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 180,
"Offset": 1913,
"Original": "for (x, y) in i {\n\tfmt.Println(\"break array\")\n\n\tbreak\n\n\tfmt.Println(x, y)\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 180,
"Offset": 1927,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"NormalSingle": false
}
},
{
"ast.For": {
"Args": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 188,
"Offset": 1995,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 188,
"Offset": 1998,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 188,
"Offset": 2006,
"Original": "{\n\tfmt.Println(\"continue array\")\n\n\tcontinue\n\n\tfmt.Println(x, y)\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 189,
"Offset": 2021,
"Original": "\"continue array\""
}
},
"Original": {
"string": "continue array"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 189,
"Offset": 2013,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 189,
"Offset": 2009,
"Original": "fmt.Println(\"continue array\")\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 189,
"Offset": 2009,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Continue": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 191,
"Offset": 2041,
"Original": "continue\n\n\t"
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 193,
"Offset": 2064,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 193,
"Offset": 2067,
"Original": "y"
}
},
"Name": {
"string": "y"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 193,
"Offset": 2056,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 193,
"Offset": 2052,
"Original": "fmt.Println(x, y)\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 193,
"Offset": 2052,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 188,
"Offset": 1990,
"Original": "for (x, y) in i {\n\tfmt.Println(\"continue array\")\n\n\tcontinue\n\n\tfmt.Println(x, y)\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 188,
"Offset": 2004,
"Original": "i"
}
},
"Name": {
"string": "i"
}
}
},
"NormalSingle": false
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 196,
"Offset": 2073,
"Original": "let someFunc = func(age, greeting) {\n\tfmt.Println(age)\n\n\tfmt.Println(greeting)\n\n\treturn age, greeting, \"another value\"\n}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 196,
"Offset": 2077,
"Original": "someFunc"
}
},
"Name": {
"string": "someFunc"
}
}
},
"Value": {
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 21,
"Filename": "./examples/big.lush",
"Line": 196,
"Offset": 2093,
"Original": "age"
}
},
"Name": {
"string": "age"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 26,
"Filename": "./examples/big.lush",
"Line": 196,
"Offset": 2098,
"Original": "greeting"
}
},
"Name": {
"string": "greeting"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 36,
"Filename": "./examples/big.lush",
"Line": 196,
"Offset": 2108,
"Original": "{\n\tfmt.Println(age)\n\n\tfmt.Println(greeting)\n\n\treturn age, greeting, \"another value\"\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 197,
"Offset": 2123,
"Original": "age"
}
},
"Name": {
"string": "age"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 197,
"Offset": 2115,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 197,
"Offset": 2111,
"Original": "fmt.Println(age)\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 197,
"Offset": 2111,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 199,
"Offset": 2142,
"Original": "greeting"
}
},
"Name": {
"string": "greeting"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 199,
"Offset": 2134,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 199,
"Offset": 2130,
"Original": "fmt.Println(greeting)\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 199,
"Offset": 2130,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Return": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 201,
"Offset": 2154,
"Original": "return age, greeting, \"another value\"\n"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 201,
"Offset": 2161,
"Original": "age"
}
},
"Name": {
"string": "age"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 201,
"Offset": 2166,
"Original": "greeting"
}
},
"Name": {
"string": "greeting"
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 24,
"Filename": "./examples/big.lush",
"Line": 201,
"Offset": 2176,
"Original": "\"another value\""
}
},
"Original": {
"string": "another value"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 16,
"Filename": "./examples/big.lush",
"Line": 196,
"Offset": 2088,
"Original": "func(age, greeting) {\n\tfmt.Println(age)\n\n\tfmt.Println(greeting)\n\n\treturn age, greeting, \"another value\"\n}"
}
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 204,
"Offset": 2195,
"Original": "let k = someFunc(42, \"hi\")\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 204,
"Offset": 2199,
"Original": "k"
}
},
"Name": {
"string": "k"
}
}
},
"Value": {
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 18,
"Filename": "./examples/big.lush",
"Line": 204,
"Offset": 2212,
"Original": "42"
}
},
"Value": {
"int": 42
}
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 22,
"Filename": "./examples/big.lush",
"Line": 204,
"Offset": 2216,
"Original": "\"hi\""
}
},
"Original": {
"string": "hi"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 204,
"Offset": 2203,
"Original": "someFunc(42, \"hi\")\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 204,
"Offset": 2203,
"Original": "someFunc"
}
},
"Name": {
"string": "someFunc"
}
}
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2223,
"Original": "let l = foo.Bar(func(c, d, x) {\n\tlet xyz = 3.14\n\n\tdoWork(xyz)\n\n\tlet zyx = func(arg1, arg2) {\n\t\tdoWork(arg1)\n\n\t\tdoWork(arg2)\n\t}\n\n\treturn 1\n})\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2227,
"Original": "l"
}
},
"Name": {
"string": "l"
}
}
},
"Value": {
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 22,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2244,
"Original": "c"
}
},
"Name": {
"string": "c"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 25,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2247,
"Original": "d"
}
},
"Name": {
"string": "d"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 28,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2250,
"Original": "x"
}
},
"Name": {
"string": "x"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 31,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2253,
"Original": "{\n\tlet xyz = 3.14\n\n\tdoWork(xyz)\n\n\tlet zyx = func(arg1, arg2) {\n\t\tdoWork(arg1)\n\n\t\tdoWork(arg2)\n\t}\n\n\treturn 1\n}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 207,
"Offset": 2256,
"Original": "let xyz = 3.14"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 207,
"Offset": 2260,
"Original": "xyz"
}
},
"Name": {
"string": "xyz"
}
}
},
"Value": {
"ast.Float": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 207,
"Offset": 2266,
"Original": "3.14"
}
},
"Value": 3.14
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 209,
"Offset": 2280,
"Original": "xyz"
}
},
"Name": {
"string": "xyz"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "./examples/big.lush",
"Line": 208,
"Offset": 2270,
"Original": "\n\n\tdoWork(xyz)\n\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 209,
"Offset": 2273,
"Original": "doWork"
}
},
"Name": {
"string": "doWork"
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 2,
"Filename": "./examples/big.lush",
"Line": 211,
"Offset": 2287,
"Original": "let zyx = func(arg1, arg2) {\n\t\tdoWork(arg1)\n\n\t\tdoWork(arg2)\n\t}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 211,
"Offset": 2291,
"Original": "zyx"
}
},
"Name": {
"string": "zyx"
}
}
},
"Value": {
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 211,
"Offset": 2302,
"Original": "arg1"
}
},
"Name": {
"string": "arg1"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 23,
"Filename": "./examples/big.lush",
"Line": 211,
"Offset": 2308,
"Original": "arg2"
}
},
"Name": {
"string": "arg2"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 29,
"Filename": "./examples/big.lush",
"Line": 211,
"Offset": 2314,
"Original": "{\n\t\tdoWork(arg1)\n\n\t\tdoWork(arg2)\n\t}"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 212,
"Offset": 2325,
"Original": "arg1"
}
},
"Name": {
"string": "arg1"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 212,
"Offset": 2318,
"Original": "doWork(arg1)\n\n\t\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 212,
"Offset": 2318,
"Original": "doWork"
}
},
"Name": {
"string": "doWork"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 214,
"Offset": 2341,
"Original": "arg2"
}
},
"Name": {
"string": "arg2"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 214,
"Offset": 2334,
"Original": "doWork(arg2)\n\t"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 3,
"Filename": "./examples/big.lush",
"Line": 214,
"Offset": 2334,
"Original": "doWork"
}
},
"Name": {
"string": "doWork"
}
}
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 211,
"Offset": 2297,
"Original": "func(arg1, arg2) {\n\t\tdoWork(arg1)\n\n\t\tdoWork(arg2)\n\t}"
}
}
}
}
}
},
{
"ast.Return": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "./examples/big.lush",
"Line": 216,
"Offset": 2349,
"Original": "\n\n\treturn 1\n"
}
},
"Statements": {
"ast.Statements": [
{
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 217,
"Offset": 2359,
"Original": "1"
}
},
"Value": {
"int": 1
}
}
}
]
}
}
}
]
}
}
},
"Meta": {
"ast.Meta": {
"Col": 17,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2239,
"Original": "func(c, d, x) {\n\tlet xyz = 3.14\n\n\tdoWork(xyz)\n\n\tlet zyx = func(arg1, arg2) {\n\t\tdoWork(arg1)\n\n\t\tdoWork(arg2)\n\t}\n\n\treturn 1\n}"
}
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2235,
"Original": "Bar"
}
},
"Name": {
"string": "Bar"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2231,
"Original": "foo.Bar(func(c, d, x) {\n\tlet xyz = 3.14\n\n\tdoWork(xyz)\n\n\tlet zyx = func(arg1, arg2) {\n\t\tdoWork(arg1)\n\n\t\tdoWork(arg2)\n\t}\n\n\treturn 1\n})\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 206,
"Offset": 2231,
"Original": "foo"
}
},
"Name": {
"string": "foo"
}
}
}
}
}
}
},
{
"ast.Let": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 220,
"Offset": 2365,
"Original": "let myFunc = func(a, b, c) {}"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 220,
"Offset": 2369,
"Original": "myFunc"
}
},
"Name": {
"string": "myFunc"
}
}
},
"Value": {
"ast.Func": {
"Arguments": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 19,
"Filename": "./examples/big.lush",
"Line": 220,
"Offset": 2383,
"Original": "a"
}
},
"Name": {
"string": "a"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 22,
"Filename": "./examples/big.lush",
"Line": 220,
"Offset": 2386,
"Original": "b"
}
},
"Name": {
"string": "b"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 25,
"Filename": "./examples/big.lush",
"Line": 220,
"Offset": 2389,
"Original": "c"
}
},
"Name": {
"string": "c"
}
}
}
],
"Block": {
"ast.Block": {
"Meta": {
"ast.Meta": {
"Col": 28,
"Filename": "./examples/big.lush",
"Line": 220,
"Offset": 2392,
"Original": "{}"
}
},
"Statements": {
"ast.Statements": null
}
}
},
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 220,
"Offset": 2378,
"Original": "func(a, b, c) {}"
}
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 8,
"Filename": "./examples/big.lush",
"Line": 222,
"Offset": 2403,
"Original": "a"
}
},
"Name": {
"string": "a"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 11,
"Filename": "./examples/big.lush",
"Line": 222,
"Offset": 2406,
"Original": "b"
}
},
"Name": {
"string": "b"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 222,
"Offset": 2409,
"Original": "c"
}
},
"Name": {
"string": "c"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 222,
"Offset": 2396,
"Original": "myFunc(a, b, c)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 222,
"Offset": 2396,
"Original": "myFunc"
}
},
"Name": {
"string": "myFunc"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Float": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 224,
"Offset": 2421,
"Original": "3.14"
}
},
"Value": 3.14
}
},
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 15,
"Filename": "./examples/big.lush",
"Line": 224,
"Offset": 2427,
"Original": "\"foo\""
}
},
"Original": {
"string": "foo"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.Bool": {
"Meta": {
"ast.Meta": {
"Col": 22,
"Filename": "./examples/big.lush",
"Line": 224,
"Offset": 2434,
"Original": "true"
}
},
"Value": {
"bool": true
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 0,
"Filename": "",
"Line": 0,
"Offset": 0,
"Original": ""
}
},
"Name": {
"string": ""
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 224,
"Offset": 2413,
"Original": "another(3.14, \"foo\", true)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 224,
"Offset": 2413,
"Original": "another"
}
},
"Name": {
"string": "another"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": null
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 6,
"Filename": "./examples/big.lush",
"Line": 226,
"Offset": 2446,
"Original": "Save"
}
},
"Name": {
"string": "Save"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 226,
"Offset": 2441,
"Original": "user.Save()\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 226,
"Offset": 2441,
"Original": "user"
}
},
"Name": {
"string": "user"
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 228,
"Offset": 2454,
"Original": "yes := \"yes\""
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 228,
"Offset": 2454,
"Original": "yes"
}
},
"Name": {
"string": "yes"
}
}
},
"Value": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 8,
"Filename": "./examples/big.lush",
"Line": 228,
"Offset": 2461,
"Original": "\"yes\""
}
},
"Original": {
"string": "yes"
},
"QuoteFormat": {
"string": "%q"
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 230,
"Offset": 2468,
"Original": "match := (yes ~= `s$`)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 230,
"Offset": 2468,
"Original": "match"
}
},
"Name": {
"string": "match"
}
}
},
"Value": {
"ast.OpExpression": {
"A": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 11,
"Filename": "./examples/big.lush",
"Line": 230,
"Offset": 2478,
"Original": "yes"
}
},
"Name": {
"string": "yes"
}
}
},
"B": {
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 18,
"Filename": "./examples/big.lush",
"Line": 230,
"Offset": 2485,
"Original": "`s$`"
}
},
"Original": {
"string": "s$"
},
"QuoteFormat": {
"string": "`%s`"
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 10,
"Filename": "./examples/big.lush",
"Line": 230,
"Offset": 2477,
"Original": "(yes ~= `s$`)\n\n"
}
},
"op": "~="
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 12,
"Filename": "./examples/big.lush",
"Line": 232,
"Offset": 2503,
"Original": "\"--match %s %t\\n\""
}
},
"Original": {
"string": "--match %s %t\n"
},
"QuoteFormat": {
"string": "%q"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 31,
"Filename": "./examples/big.lush",
"Line": 232,
"Offset": 2522,
"Original": "yes"
}
},
"Name": {
"string": "yes"
}
}
},
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 36,
"Filename": "./examples/big.lush",
"Line": 232,
"Offset": 2527,
"Original": "match"
}
},
"Name": {
"string": "match"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 232,
"Offset": 2496,
"Original": "Printf"
}
},
"Name": {
"string": "Printf"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 232,
"Offset": 2492,
"Original": "fmt.Printf(\"--match %s %t\\n\", yes, match)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 232,
"Offset": 2492,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Var": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 234,
"Offset": 2535,
"Original": "mat := (yes ~= yes)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 234,
"Offset": 2535,
"Original": "mat"
}
},
"Name": {
"string": "mat"
}
}
},
"Value": {
"ast.OpExpression": {
"A": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 9,
"Filename": "./examples/big.lush",
"Line": 234,
"Offset": 2543,
"Original": "yes"
}
},
"Name": {
"string": "yes"
}
}
},
"B": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 16,
"Filename": "./examples/big.lush",
"Line": 234,
"Offset": 2550,
"Original": "yes"
}
},
"Name": {
"string": "yes"
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 8,
"Filename": "./examples/big.lush",
"Line": 234,
"Offset": 2542,
"Original": "(yes ~= yes)\n\n"
}
},
"op": "~="
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.String": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 236,
"Offset": 2568,
"Original": "\"--mat\""
}
},
"Original": {
"string": "--mat"
},
"QuoteFormat": {
"string": "%q"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 236,
"Offset": 2560,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 236,
"Offset": 2556,
"Original": "fmt.Println(\"--mat\")\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 236,
"Offset": 2556,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 238,
"Offset": 2590,
"Original": "mat"
}
},
"Name": {
"string": "mat"
}
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 238,
"Offset": 2582,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 238,
"Offset": 2578,
"Original": "fmt.Println(mat)\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 238,
"Offset": 2578,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.OpExpression": {
"A": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 240,
"Offset": 2609,
"Original": "5"
}
},
"Value": {
"int": 5
}
}
},
"B": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 18,
"Filename": "./examples/big.lush",
"Line": 240,
"Offset": 2613,
"Original": "10"
}
},
"Value": {
"int": 10
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 240,
"Offset": 2608,
"Original": "(5 + 10)"
}
},
"op": "+"
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 240,
"Offset": 2600,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 240,
"Offset": 2596,
"Original": "fmt.Println((5 + 10))\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 240,
"Offset": 2596,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.OpExpression": {
"A": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 242,
"Offset": 2632,
"Original": "5"
}
},
"Value": {
"int": 5
}
}
},
"B": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 18,
"Filename": "./examples/big.lush",
"Line": 242,
"Offset": 2636,
"Original": "10"
}
},
"Value": {
"int": 10
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 242,
"Offset": 2631,
"Original": "(5 - 10)"
}
},
"op": "-"
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 242,
"Offset": 2623,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 242,
"Offset": 2619,
"Original": "fmt.Println((5 - 10))\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 242,
"Offset": 2619,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.OpExpression": {
"A": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 244,
"Offset": 2655,
"Original": "5"
}
},
"Value": {
"int": 5
}
}
},
"B": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 18,
"Filename": "./examples/big.lush",
"Line": 244,
"Offset": 2659,
"Original": "10"
}
},
"Value": {
"int": 10
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 244,
"Offset": 2654,
"Original": "(5 * 10)"
}
},
"op": "*"
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 244,
"Offset": 2646,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 244,
"Offset": 2642,
"Original": "fmt.Println((5 * 10))\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 244,
"Offset": 2642,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.OpExpression": {
"A": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 246,
"Offset": 2678,
"Original": "5"
}
},
"Value": {
"int": 5
}
}
},
"B": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 18,
"Filename": "./examples/big.lush",
"Line": 246,
"Offset": 2682,
"Original": "10"
}
},
"Value": {
"int": 10
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 246,
"Offset": 2677,
"Original": "(5 / 10)"
}
},
"op": "/"
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 246,
"Offset": 2669,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 246,
"Offset": 2665,
"Original": "fmt.Println((5 / 10))\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 246,
"Offset": 2665,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
},
{
"ast.Call": {
"Arguments": {
"ast.Statements": [
{
"ast.OpExpression": {
"A": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 14,
"Filename": "./examples/big.lush",
"Line": 248,
"Offset": 2701,
"Original": "10"
}
},
"Value": {
"int": 10
}
}
},
"B": {
"ast.Integer": {
"Meta": {
"ast.Meta": {
"Col": 19,
"Filename": "./examples/big.lush",
"Line": 248,
"Offset": 2706,
"Original": "6"
}
},
"Value": {
"int": 6
}
}
},
"Format": "(%s %s %s)",
"Meta": {
"ast.Meta": {
"Col": 13,
"Filename": "./examples/big.lush",
"Line": 248,
"Offset": 2700,
"Original": "(10 % 6)"
}
},
"op": "%"
}
}
]
},
"Block": null,
"Concurrent": {
"bool": false
},
"FName": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 5,
"Filename": "./examples/big.lush",
"Line": 248,
"Offset": 2692,
"Original": "Println"
}
},
"Name": {
"string": "Println"
}
}
},
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 248,
"Offset": 2688,
"Original": "fmt.Println((10 % 6))\n\n"
}
},
"Name": {
"ast.Ident": {
"Meta": {
"ast.Meta": {
"Col": 1,
"Filename": "./examples/big.lush",
"Line": 248,
"Offset": 2688,
"Original": "fmt"
}
},
"Name": {
"string": "fmt"
}
}
}
}
}
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment