tree-sitter-tiger/test/corpus/declarations.txt
Bruno BELANYI 506fab8896 Add type declarations
For now, simplified to type aliases only.
2022-06-02 17:07:30 +02:00

154 lines
4.4 KiB
Plaintext

================================================================================
Empty declarations
================================================================================
--------------------------------------------------------------------------------
(source_file)
================================================================================
Type alias declaration
================================================================================
type alias = int
--------------------------------------------------------------------------------
(source_file
(type_declaration
name: (identifier)
value: (type_alias
(identifier))))
================================================================================
Function declaration
================================================================================
function func(a: int, b: int) = "string"
--------------------------------------------------------------------------------
(source_file
(function_declaration
name: (identifier)
parameters: (parameters
name: (identifier)
type: (identifier)
name: (identifier)
type: (identifier))
body: (string_literal)))
================================================================================
Function declaration single parameter
================================================================================
function func(a: int) = "string"
--------------------------------------------------------------------------------
(source_file
(function_declaration
name: (identifier)
parameters: (parameters
name: (identifier)
type: (identifier))
body: (string_literal)))
================================================================================
Function declaration no parameters
================================================================================
function func() = "string"
--------------------------------------------------------------------------------
(source_file
(function_declaration
name: (identifier)
parameters: (parameters)
body: (string_literal)))
================================================================================
Primitive declaration
================================================================================
primitive prim()
--------------------------------------------------------------------------------
(source_file
(primitive_declaration
name: (identifier)
parameters: (parameters)))
================================================================================
Variable declaration
================================================================================
var a := 12
--------------------------------------------------------------------------------
(source_file
(variable_declaration
name: (identifier)
value: (integer_literal)))
================================================================================
Variable declaration with type
================================================================================
var a : int := 27
--------------------------------------------------------------------------------
(source_file
(variable_declaration
name: (identifier)
type: (identifier)
value: (integer_literal)))
================================================================================
Multiple variable declarations
================================================================================
var a := 12
var b := 27
--------------------------------------------------------------------------------
(source_file
(variable_declaration
name: (identifier)
value: (integer_literal))
(variable_declaration
name: (identifier)
value: (integer_literal)))
================================================================================
Import
================================================================================
import "a.tih"
--------------------------------------------------------------------------------
(source_file
(import_declaration
file: (string_literal)))
================================================================================
Multiple imports
================================================================================
import "a.tih"
import "b.tih"
--------------------------------------------------------------------------------
(source_file
(import_declaration
file: (string_literal))
(import_declaration
file: (string_literal)))