================================================================================ 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)))