mirror of
https://codeberg.org/ProgramSnail/tree-sitter-lang.git
synced 2025-12-26 16:38:48 +00:00
new literal types
This commit is contained in:
parent
c9bef5a02e
commit
2cb4ebd03d
4 changed files with 179 additions and 72 deletions
|
|
@ -86,14 +86,14 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(name_expression
|
||||
(reference_expression
|
||||
(array_access
|
||||
(simple_name_identifier)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(simple_name_identifier))
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
|
|
@ -101,7 +101,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(case
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(empty_lines)
|
||||
(match
|
||||
(operator_expression
|
||||
|
|
@ -113,12 +113,12 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(case
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator_expression
|
||||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))))
|
||||
(index_literal)))))
|
||||
(empty_lines)
|
||||
(operator_expression
|
||||
(name_expression
|
||||
|
|
@ -136,13 +136,13 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(simple_type
|
||||
(simple_type_identifier))
|
||||
(simple_name_identifier)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(simple_name_identifier)
|
||||
(operator_expression
|
||||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))))
|
||||
(index_literal)))))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
|
|
@ -173,21 +173,21 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(operator_expression
|
||||
(operator_expression
|
||||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(operator_tail1)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(operator_expression
|
||||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(block
|
||||
(empty_lines)
|
||||
(condition
|
||||
|
|
@ -196,7 +196,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(operator_tail1)
|
||||
(name_expression
|
||||
(simple_name_identifier)))
|
||||
|
|
@ -211,7 +211,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(operator)
|
||||
(string_literal))
|
||||
(operator_tail1)
|
||||
|
|
@ -220,7 +220,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(simple_name_identifier))))
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
|
|
@ -235,15 +235,15 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(loop
|
||||
(placeholder)
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
(simple_name_identifier)
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(char_literal)))
|
||||
(operator)
|
||||
(string_literal))
|
||||
|
|
@ -276,14 +276,14 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(argument_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(return
|
||||
(operator_expression
|
||||
(name_expression
|
||||
(simple_type
|
||||
(simple_type_identifier))
|
||||
(simple_name_identifier)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(operator)
|
||||
(name_expression
|
||||
(simple_type
|
||||
|
|
@ -303,7 +303,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(argument_name_identifier)))
|
||||
(operator_tail1)
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(empty_lines)
|
||||
(match
|
||||
(operator_expression
|
||||
|
|
@ -365,13 +365,13 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(empty_lines)
|
||||
(loop
|
||||
(name_expression
|
||||
|
|
@ -393,7 +393,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(empty_lines)))
|
||||
(empty_lines)
|
||||
(loop
|
||||
|
|
@ -405,7 +405,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier)))
|
||||
(operator_tail1)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(block
|
||||
(empty_lines)
|
||||
(match
|
||||
|
|
@ -420,7 +420,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier)))
|
||||
(operator_tail1)
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(empty_lines)
|
||||
(condition
|
||||
(name_expression
|
||||
|
|
@ -463,7 +463,7 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(return
|
||||
(bool_literal)))
|
||||
(empty_lines)
|
||||
|
|
@ -481,10 +481,10 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(simple_name_identifier)
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(operator_tail1)
|
||||
(operator_expression
|
||||
(float_number_literal)
|
||||
(double_literal)
|
||||
(operator)
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
|
|
@ -510,6 +510,6 @@ test_k 'n 'k : Int Int -> Bool = {
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(empty_lines)))
|
||||
(empty_lines))
|
||||
|
|
|
|||
|
|
@ -232,6 +232,21 @@ tuple_argument_test 'x : (A & B & C) = do_something;
|
|||
// ((A1 & A2) | B | C) same to Variant[Tuple[A1 A2] B C]
|
||||
variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
||||
|
||||
literals_test = {
|
||||
%float_number_literal := 1.0f;
|
||||
%double_number_literal := 1.0;
|
||||
%int_literal := 1i;
|
||||
%long_literal := 1l;
|
||||
%index_literal := 1;
|
||||
%string_literal := "";
|
||||
%unicode_string_literal := ""u;
|
||||
%char_literal := ''a'';
|
||||
%unicode_literal := ''↪''u;
|
||||
%bool_literal := true;
|
||||
%unit_literal := ();
|
||||
%null_literal := null;
|
||||
}
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(source_file
|
||||
|
|
@ -285,7 +300,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(block
|
||||
(empty_lines)
|
||||
(name_expression
|
||||
|
|
@ -297,9 +312,9 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(block
|
||||
(empty_lines)
|
||||
(name_expression
|
||||
|
|
@ -341,14 +356,14 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(block
|
||||
(empty_lines)
|
||||
(operator_expression
|
||||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(empty_lines)
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
|
|
@ -423,7 +438,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(argument_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(simple_name_identifier)
|
||||
(argument_name_identifier)
|
||||
(annotation_identifier)
|
||||
|
|
@ -436,10 +451,10 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(argument_name_identifier))
|
||||
(case
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(number_literal))
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(index_literal))
|
||||
(case
|
||||
(placeholder)
|
||||
(operator_expression
|
||||
|
|
@ -449,7 +464,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(argument_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(operator)
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
|
|
@ -497,29 +512,29 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(simple_name_identifier))
|
||||
(case
|
||||
(lambda
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(string_literal))
|
||||
(case
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(string_literal))
|
||||
(case
|
||||
(operator_expression
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(operator)
|
||||
(name_expression
|
||||
(simple_name_identifier)))
|
||||
|
|
@ -527,7 +542,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(string_literal))
|
||||
(case
|
||||
(placeholder)
|
||||
|
|
@ -571,7 +586,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(annotation_identifier)
|
||||
(string_literal)
|
||||
(annotation_identifier)
|
||||
(float_number_literal))))
|
||||
(double_literal))))
|
||||
(empty_lines)
|
||||
(extra)
|
||||
(empty_lines)
|
||||
|
|
@ -669,8 +684,8 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(case
|
||||
(name_expression
|
||||
(operator)
|
||||
(number_literal)
|
||||
(number_literal))))
|
||||
(index_literal)
|
||||
(index_literal))))
|
||||
(empty_lines)
|
||||
(extra)
|
||||
(empty_lines)
|
||||
|
|
@ -680,17 +695,17 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(case
|
||||
(operator_expression
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(operator)
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(empty_lines)
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
(tuple_access
|
||||
(simple_name_identifier)
|
||||
(number_literal)))
|
||||
(index_literal)))
|
||||
(empty_lines)))
|
||||
(empty_lines)
|
||||
(function_definition
|
||||
|
|
@ -795,7 +810,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(name_expression
|
||||
(argument_name_identifier)
|
||||
|
|
@ -814,7 +829,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
(array_access
|
||||
|
|
@ -827,7 +842,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))))
|
||||
(index_literal)))))
|
||||
(operator_expression
|
||||
(name_expression
|
||||
(simple_name_identifier))
|
||||
|
|
@ -868,7 +883,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(operator_expression
|
||||
(number_literal)
|
||||
(index_literal)
|
||||
(operator)
|
||||
(name_expression
|
||||
(argument_name_identifier)
|
||||
|
|
@ -887,7 +902,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal))))
|
||||
(index_literal))))
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
(array_access
|
||||
|
|
@ -900,7 +915,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(simple_name_identifier))
|
||||
(operator)
|
||||
(number_literal)))))
|
||||
(index_literal)))))
|
||||
(operator_expression
|
||||
(name_expression
|
||||
(simple_name_identifier))
|
||||
|
|
@ -1054,7 +1069,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(reference_expression
|
||||
(array_access
|
||||
(simple_name_identifier)
|
||||
(number_literal)))))
|
||||
(index_literal)))))
|
||||
(empty_lines)))
|
||||
(empty_lines)
|
||||
(extra)
|
||||
|
|
@ -1310,7 +1325,7 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(name_expression
|
||||
(argument_name_identifier))
|
||||
(operator)
|
||||
(number_literal))
|
||||
(index_literal))
|
||||
(name_expression
|
||||
(simple_name_identifier)
|
||||
(string_literal))
|
||||
|
|
@ -1362,4 +1377,81 @@ variant_argument_test 'x : ((A1 & A2) | B | C) = do_something;
|
|||
(simple_type_identifier)))
|
||||
(name_expression
|
||||
(simple_name_identifier)))
|
||||
(empty_lines)
|
||||
(function_definition
|
||||
(simple_name_identifier)
|
||||
(block
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(float_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(double_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(int_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(long_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(index_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(string_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(unicode_string_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(char_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(unicode_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(bool_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(unit_literal)))
|
||||
(empty_lines)
|
||||
(match
|
||||
(name_definition
|
||||
(simple_name_identifier))
|
||||
(case
|
||||
(null_literal)))
|
||||
(empty_lines)))
|
||||
(empty_lines))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue