mirror of
https://codeberg.org/ProgramSnail/tree-sitter-lang.git
synced 2025-12-06 06:38:51 +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))
|
||||
|
|
|
|||
13
grammar.g4
13
grammar.g4
|
|
@ -201,10 +201,15 @@ OPERATOR_TAIL1 : [+\-*/%^!?|&,<>=]+\. ;
|
|||
OPERATOR_TAIL2 : [+\-*/%^!?|&,<>=]+\.\. ;
|
||||
OPERATOR_TAIL3 : [+\-*/%^!?|&,<>=]+\.\.\. ;
|
||||
|
||||
FLOAT_NUMBER_LITERAL : [0-9]+ '.' [0-9]+ ;
|
||||
NUMBER_LITERAL : [0-9]+ ;
|
||||
STRING_LITERAL : \"([^\\\"]|(\\.))*\" ;
|
||||
CHAR_LITERAL : '\'' '\'' ([^\\\'] | ( '\\' [\u0000-\u00FF])) '\'' '\'' ;
|
||||
FLOAT_NUMBER_LITERAL : [0-9]+ '.' [0-9]+ 'f' ;
|
||||
DOUBLE_NUMBER_LITERAL : [0-9]+ '.' [0-9]+ ;
|
||||
INT_LITERAL : [0-9]+ 'i' ;
|
||||
LONG_LITERAL : [0-9]+ 'l' ;
|
||||
INDEX_LITERAL : [0-9]+ ;
|
||||
STRING_LITERAL : '\"' ([^\\\'] | ( '\\' [\u0000-\u00FF]))* '\"' ;
|
||||
UNICODE_STRING_LITERAL : '\"' ([^\\\'] | ( '\\' [\u0000-\uFFFF]))* '\"u';
|
||||
CHAR_LITERAL : '\'\'' ([^\\\'] | ( '\\' [\u0000-\u00FF])) '\'\'' ;
|
||||
UNICODE_LITERAL : '\'\'' ([^\\\'] | ( '\\' [\u0000-\uFFFF])) '\'\'u' ;
|
||||
BOOL_LITERAL : 'true' | 'false' ;
|
||||
UNIT_LITERAL : '()' ;
|
||||
NULL_LITERAL : 'null' ;
|
||||
|
|
|
|||
20
grammar.js
20
grammar.js
|
|
@ -140,7 +140,7 @@ module.exports = grammar({
|
|||
|
||||
array_access: $ => seq($._scoped_expression, '[', $._super_expression, ']'),
|
||||
|
||||
tuple_access: $ => seq($._scoped_expression, '.', $.number_literal),
|
||||
tuple_access: $ => seq($._scoped_expression, '.', $.index_literal),
|
||||
|
||||
loop_control: $ => choice('break', 'continue'),
|
||||
|
||||
|
|
@ -306,19 +306,29 @@ module.exports = grammar({
|
|||
operator_tail2: $ => /[+\-*/%^!?|&,<>=]+\.\./,
|
||||
operator_tail3: $ => /[+\-*/%^!?|&,<>=]+\.\.\./,
|
||||
|
||||
float_number_literal: $ => /[0-9]+\.[0-9]+/,
|
||||
number_literal: $ => /[0-9]+/,
|
||||
float_literal: $ => /[0-9]+\.[0-9]+f/,
|
||||
double_literal: $ => /[0-9]+\.[0-9]+/,
|
||||
int_literal: $ => /\-?[0-9]+i/,
|
||||
long_literal: $ => /\-?[0-9]+l/,
|
||||
index_literal: $ => /[0-9]+/,
|
||||
string_literal: $ => seq('\"', /([^\\\"]|(\\.))*/, '\"'),
|
||||
unicode_string_literal: $ => seq('\"', /([^\\\"]|(\\.))*/, '\"u'),
|
||||
char_literal: $ => seq('\'\'', /[^\\\']|(\\.)/, '\'\''),
|
||||
unicode_literal: $ => seq('\'\'', /[^\\\']|(\\.)/, '\'\'u'),
|
||||
bool_literal: $ => choice('true', 'false'),
|
||||
unit_literal: $ => '()',
|
||||
null_literal: $ => 'null',
|
||||
|
||||
_literal: $ => choice(
|
||||
$.float_number_literal,
|
||||
$.number_literal,
|
||||
$.float_literal,
|
||||
$.double_literal,
|
||||
$.int_literal,
|
||||
$.long_literal,
|
||||
$.index_literal,
|
||||
$.string_literal,
|
||||
$.unicode_string_literal,
|
||||
$.char_literal,
|
||||
$.unicode_literal,
|
||||
$.bool_literal,
|
||||
$.unit_literal,
|
||||
$.null_literal,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue