tweaks to make closer to real parser, checked in as reference

This commit is contained in:
2022-09-05 00:12:34 -04:00
parent bd6ecaee2c
commit 2aa998b6a5
9 changed files with 2489 additions and 1128 deletions

View File

@@ -6,8 +6,9 @@ import wibble
--------------------------------------------------------------------------------
(source_file
(import_statement
(identifier)))
(import_declaration
(qualified_name
(identifier))))
================================================================================
multiple identifier import
@@ -17,9 +18,10 @@ import wobble.qq
--------------------------------------------------------------------------------
(source_file
(import_statement
(identifier)
(identifier)))
(import_declaration
(qualified_name
(identifier)
(identifier))))
================================================================================
wildcard import
@@ -29,9 +31,11 @@ import flobble.fnurfle.*
--------------------------------------------------------------------------------
(source_file
(import_statement
(identifier)
(identifier)))
(import_declaration
(qualified_name
(identifier)
(identifier))
(wildcard_import)))
================================================================================
multiple imports semicolon separated
@@ -40,11 +44,14 @@ import qq.ss; import flobble.*;
--------------------------------------------------------------------------------
(source_file
(import_statement
(identifier)
(identifier))
(import_statement
(identifier)))
(import_declaration
(qualified_name
(identifier)
(identifier)))
(import_declaration
(qualified_name
(identifier))
(wildcard_import)))
================================================================================
static import
@@ -53,7 +60,21 @@ import static qq.q.*;
--------------------------------------------------------------------------------
(source_file
(import_statement
(import_declaration
(static_modifier)
(identifier)
(identifier)))
(qualified_name
(identifier)
(identifier))
(wildcard_import)))
================================================================================
simple wildcard
================================================================================
import wibble.*;
--------------------------------------------------------------------------------
(source_file
(import_declaration
(qualified_name
(identifier))
(wildcard_import)))

View File

@@ -5,8 +5,9 @@ package flob
--------------------------------------------------------------------------------
(source_file
(package_definition
(identifier)))
(package_declaration
(qualified_name
(identifier))))
================================================================================
Dotted package definition
@@ -15,6 +16,7 @@ package flob.wibble
--------------------------------------------------------------------------------
(source_file
(package_definition
(identifier)
(identifier)))
(package_declaration
(qualified_name
(identifier)
(identifier))))

View File

@@ -6,11 +6,10 @@ hello
--------------------------------------------------------------------------------
(source_file
(script_part
(statement
(expression
(path_expression
(identifier))))))
(statement
(expression
(qualified_name
(identifier)))))
================================================================================
Shebang not ignored after first character
@@ -20,14 +19,14 @@ Shebang not ignored after first character
(source_file
(ERROR
(UNEXPECTED '#')
(identifier)
(UNEXPECTED '#'))
(statement
(expression
(qualified_name
(identifier))))
(ERROR
(UNEXPECTED '/')
(identifier)
(UNEXPECTED '/')
(identifier))
(script_part
(statement
(expression
(path_expression
(identifier))))))
(identifier)
(identifier)))

View File

@@ -13,11 +13,10 @@ hello
--------------------------------------------------------------------------------
(source_file
(script_part
(statement
(expression
(path_expression
(identifier))))))
(statement
(expression
(qualified_name
(identifier)))))
================================================================================
statement - Simple method definition
@@ -26,9 +25,8 @@ def hello
--------------------------------------------------------------------------------
(source_file
(script_part
(method_declaration
(identifier))))
(method_declaration
(identifier)))
================================================================================
statement - Multiple statements same line
@@ -37,19 +35,16 @@ hello;goodbye;def flunk
--------------------------------------------------------------------------------
(source_file
(script_part
(statement
(expression
(path_expression
(identifier)))))
(script_part
(statement
(expression
(path_expression
(identifier)))))
(script_part
(method_declaration
(identifier))))
(statement
(expression
(qualified_name
(identifier))))
(statement
(expression
(qualified_name
(identifier))))
(method_declaration
(identifier)))
================================================================================
statement - Multiple Statements, Multiple Lines
@@ -60,19 +55,16 @@ goodbye;
--------------------------------------------------------------------------------
(source_file
(script_part
(statement
(expression
(path_expression
(identifier)))))
(script_part
(method_declaration
(identifier)))
(script_part
(statement
(expression
(path_expression
(identifier))))))
(statement
(expression
(qualified_name
(identifier))))
(method_declaration
(identifier))
(statement
(expression
(qualified_name
(identifier)))))
================================================================================
statement - path expression multiple parts
@@ -81,10 +73,9 @@ wibble.wobble.q
--------------------------------------------------------------------------------
(source_file
(script_part
(statement
(expression
(path_expression
(identifier)
(identifier)
(identifier))))))
(statement
(expression
(qualified_name
(identifier)
(identifier)
(identifier)))))