diff --git a/spec/runtime/languages/golang/main.txt b/spec/runtime/languages/golang/declarations.txt similarity index 54% rename from spec/runtime/languages/golang/main.txt rename to spec/runtime/languages/golang/declarations.txt index 595664a8..1df4bd6d 100644 --- a/spec/runtime/languages/golang/main.txt +++ b/spec/runtime/languages/golang/declarations.txt @@ -1,5 +1,5 @@ ========================================== -parses trivial programs +parses simple declarations ========================================== package trivial @@ -18,24 +18,13 @@ parses comments ========================================== package trivial +var x = 1 // on package + func main() { - // do stuff + // in function } --- (program (package_directive (package_name)) - (func_declaration (var_name) (statement_block - (comment)))) - -========================================== -handles indented code after blocks -========================================= -package trivial - - func one() {} - func two() {} ---- -(program - (package_directive (package_name)) - (func_declaration (var_name) (statement_block)) - (func_declaration (var_name) (statement_block))) \ No newline at end of file + (var_declaration (var_name) (expression (number) (comment))) + (func_declaration (var_name) (statement_block (comment)))) \ No newline at end of file diff --git a/spec/runtime/languages/golang/errors.txt b/spec/runtime/languages/golang/errors.txt new file mode 100644 index 00000000..482a772d --- /dev/null +++ b/spec/runtime/languages/golang/errors.txt @@ -0,0 +1,12 @@ +========================================== +handles indented code after blocks +========================================= +package trivial + + func one() {} + func two() {} +--- +(program + (package_directive (package_name)) + (func_declaration (var_name) (statement_block)) + (func_declaration (var_name) (statement_block))) diff --git a/spec/runtime/languages/golang/flow_control.txt b/spec/runtime/languages/golang/expressions.txt similarity index 68% rename from spec/runtime/languages/golang/flow_control.txt rename to spec/runtime/languages/golang/expressions.txt index f50f11f5..0440aad0 100644 --- a/spec/runtime/languages/golang/flow_control.txt +++ b/spec/runtime/languages/golang/expressions.txt @@ -31,22 +31,3 @@ func main() { (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))))) diff --git a/spec/runtime/languages/golang/statements.txt b/spec/runtime/languages/golang/statements.txt new file mode 100644 index 00000000..8e5556f6 --- /dev/null +++ b/spec/runtime/languages/golang/statements.txt @@ -0,0 +1,19 @@ +============================================ +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)))))