86 lines
No EOL
2.3 KiB
Text
86 lines
No EOL
2.3 KiB
Text
============================================
|
|
parses return statements
|
|
============================================
|
|
package main
|
|
|
|
func main() {
|
|
return
|
|
}
|
|
|
|
func helper() {
|
|
return 1, two, "three"
|
|
}
|
|
---
|
|
(program (package_directive (package_name))
|
|
(func_declaration (var_name) (block_statement
|
|
(return_statement)))
|
|
(func_declaration (var_name) (block_statement
|
|
(return_statement (number) (var_name) (string)))))
|
|
|
|
============================================
|
|
parses variable declaration statements
|
|
============================================
|
|
package main
|
|
|
|
func main() {
|
|
x, y := stuff()
|
|
var z = 10
|
|
println(x, y, z)
|
|
}
|
|
---
|
|
(program (package_directive (package_name))
|
|
(func_declaration (var_name) (block_statement
|
|
(declaration_statement (var_name) (var_name) (call_expression (var_name)))
|
|
(var_declaration (var_name) (number))
|
|
(expression_statement (call_expression (var_name) (var_name) (var_name) (var_name))))))
|
|
|
|
============================================
|
|
parses if statements
|
|
============================================
|
|
package main
|
|
|
|
func main() {
|
|
if condition1() {
|
|
}
|
|
|
|
if condition2() {
|
|
} else {
|
|
}
|
|
|
|
if condition3() {
|
|
} else if condition4() {
|
|
}
|
|
}
|
|
---
|
|
(program (package_directive (package_name))
|
|
(func_declaration (var_name) (block_statement
|
|
(if_statement (call_expression (var_name))
|
|
(block_statement))
|
|
(if_statement (call_expression (var_name))
|
|
(block_statement) (block_statement))
|
|
(if_statement (call_expression (var_name))
|
|
(block_statement)
|
|
(if_statement (call_expression (var_name))
|
|
(block_statement))))))
|
|
|
|
=============================================
|
|
parses range statements
|
|
=============================================
|
|
package main
|
|
|
|
func main() {
|
|
for k := range theMap() {
|
|
println(k)
|
|
}
|
|
|
|
for k, v := range theMap() {
|
|
println(k, v)
|
|
}
|
|
}
|
|
---
|
|
(program (package_directive (package_name))
|
|
(func_declaration (var_name) (block_statement
|
|
(range_statement (var_name) (call_expression (var_name)) (block_statement
|
|
(expression_statement (call_expression (var_name) (var_name)))))
|
|
(range_statement (var_name) (var_name) (call_expression (var_name)) (block_statement
|
|
(expression_statement (call_expression (var_name) (var_name) (var_name)))))))) |