Add more expressions, statements to golang grammar

This commit is contained in:
Max Brunsfeld 2014-06-10 11:33:05 -07:00
parent e105f5cebc
commit 123d3b26d8
4 changed files with 1917 additions and 542 deletions

View file

@ -0,0 +1,52 @@
==========================================
parses function calls
==========================================
package main
func main() {
println("1", 2)
println()
}
---
(program
(package_directive (package_name))
(func_declaration (var_name) (statement_block
(expression_statement (call_expression (var_name) (string) (number)))
(expression_statement (call_expression (var_name))))))
============================================
parses selector expressions
============================================
package main
func main() {
x.SomeMethod(x.SomeField, x.OtherField.NestedField);
}
---
(program
(package_directive (package_name))
(func_declaration (var_name) (statement_block
(expression_statement (call_expression
(selector_expression (var_name) (var_name))
(selector_expression (var_name) (var_name))
(selector_expression (selector_expression (var_name) (var_name)) (var_name)))))))
============================================
parses return statements
============================================
package main
func main() {
return
}
func helper() {
return 1, two, "three"
}
---
(program
(package_directive (package_name))
(func_declaration (var_name) (statement_block
(return_statement)))
(func_declaration (var_name) (statement_block
(return_statement (number) (var_name) (string)))))