This commit is contained in:
ProgramSnail 2023-08-14 10:15:58 +03:00
parent 754d207af5
commit ec4a2fc64b
3 changed files with 76 additions and 84 deletions

View file

@ -257,7 +257,6 @@ test_k 'n 'k : Int Int -> Bool = {
(simple_name_identifier) (simple_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(function_type
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
(simple_type (simple_type
@ -267,7 +266,7 @@ test_k 'n 'k : Int Int -> Bool = {
(simple_type_identifier))) (simple_type_identifier)))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier)))) (simple_type_identifier)))
(block (block
(empty_lines) (empty_lines)
(condition (condition
@ -358,12 +357,11 @@ test_k 'n 'k : Int Int -> Bool = {
(function_definition (function_definition
(simple_name_identifier) (simple_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(function_type
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier)))) (simple_type_identifier)))
(block (block
(empty_lines) (empty_lines)
(match (match
@ -455,14 +453,13 @@ test_k 'n 'k : Int Int -> Bool = {
(simple_name_identifier) (simple_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(function_type
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier)))) (simple_type_identifier)))
(block (block
(empty_lines) (empty_lines)
(condition (condition

View file

@ -445,13 +445,12 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(index_literal))) (index_literal)))
(simple_name_identifier) (simple_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(function_type
(annotation_identifier) (annotation_identifier)
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier)))) (simple_type_identifier)))
(match (match
(name_expression (name_expression
(argument_name_identifier)) (argument_name_identifier))
@ -1102,13 +1101,12 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(simple_name_identifier) (simple_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(function_type
(reference_type (reference_type
(simple_type (simple_type
(argument_type_identifier))) (argument_type_identifier)))
(reference_type (reference_type
(simple_type (simple_type
(argument_type_identifier)))) (argument_type_identifier)))
(comma_expression (comma_expression
(comma_expression (comma_expression
(match (match
@ -1161,7 +1159,6 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(definition_info (definition_info
(info)) (info))
(simple_name_identifier) (simple_name_identifier)
(function_type
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier))) (simple_type_identifier)))
@ -1170,7 +1167,7 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(simple_type_identifier))) (simple_type_identifier)))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier)))) (simple_type_identifier)))
(operator_expression (operator_expression
(operator_expression (operator_expression
(name_expression (name_expression
@ -1203,7 +1200,6 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(simple_name_identifier) (simple_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(function_type
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier))) (simple_type_identifier)))
@ -1212,7 +1208,7 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(simple_type_identifier))) (simple_type_identifier)))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier)))) (simple_type_identifier)))
(constructor (constructor
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
@ -1227,7 +1223,6 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(simple_name_identifier) (simple_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(function_type
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier))) (simple_type_identifier)))
@ -1236,7 +1231,7 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(simple_type_identifier))) (simple_type_identifier)))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier)))) (simple_type_identifier)))
(constructor (constructor
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
@ -1251,12 +1246,11 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(empty_lines) (empty_lines)
(function_definition (function_definition
(simple_name_identifier) (simple_name_identifier)
(function_type
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier))))) (simple_type_identifier))))
(empty_lines) (empty_lines)
(function_definition (function_definition
(definition_info (definition_info
@ -1495,7 +1489,6 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(simple_name_identifier) (simple_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(argument_name_identifier) (argument_name_identifier)
(function_type
(function_type (function_type
(simple_type (simple_type
(simple_type_identifier)) (simple_type_identifier))
@ -1510,7 +1503,7 @@ functional_arguments_test 'x 'y : (( Int -> Int )) (( Float <- Float -> Float ))
(simple_type_identifier))) (simple_type_identifier)))
(reference_type (reference_type
(simple_type (simple_type
(simple_type_identifier))))) (simple_type_identifier))))
(name_expression (name_expression
(simple_name_identifier))) (simple_name_identifier)))
(empty_lines)) (empty_lines))

View file

@ -53,7 +53,7 @@ module.exports = grammar({
)), )),
optional(seq( optional(seq(
':', ':',
choice($.function_type, $._annotated_type), repeat1($._annotated_type),
)), )),
choice(seq('=', choice(prec(2, choice($.block, $.array)), seq($._super_expression, ';'))), ';'), choice(seq('=', choice(prec(2, choice($.block, $.array)), seq($._super_expression, ';'))), ';'),
), ),
@ -223,8 +223,10 @@ module.exports = grammar({
), ),
function_type: $ => seq( function_type: $ => seq(
'((',
$._annotated_type, $._annotated_type,
repeat1($._annotated_type), repeat1($._annotated_type),
'))',
), ),
// add annotations to in all types ?? // add annotations to in all types ??
@ -263,7 +265,7 @@ module.exports = grammar({
$.tuple_type, $.tuple_type,
//$.function_type, //$.function_type,
), ')'), ), ')'),
seq('((', $.function_type, '))'), $.function_type,
), ),
// --- comments // --- comments