tree-sitter description
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
==================
|
||||
Core syntax
|
||||
==================
|
||||
|
||||
io :: import "@std/io"
|
||||
|
||||
Status :: enum {
|
||||
ok
|
||||
bad
|
||||
}
|
||||
|
||||
Pair :: struct {
|
||||
left i32
|
||||
right i32
|
||||
}
|
||||
|
||||
sum func(a, b i32) i32 ! Status {
|
||||
result :: a + b
|
||||
if result > 0 {
|
||||
return result
|
||||
} else {
|
||||
return .bad
|
||||
}
|
||||
}
|
||||
|
||||
---
|
||||
|
||||
(source_file
|
||||
(import_declaration
|
||||
(identifier)
|
||||
(string
|
||||
(string_content)))
|
||||
(type_declaration
|
||||
(identifier)
|
||||
(enum_type
|
||||
(enum_body
|
||||
(enum_member
|
||||
(identifier))
|
||||
(enum_member
|
||||
(identifier)))))
|
||||
(type_declaration
|
||||
(identifier)
|
||||
(struct_type
|
||||
(record_body
|
||||
(record_field
|
||||
(identifier)
|
||||
(type
|
||||
(builtin_type)))
|
||||
(record_field
|
||||
(identifier)
|
||||
(type
|
||||
(builtin_type))))))
|
||||
(function_declaration
|
||||
(identifier)
|
||||
(parameter_list
|
||||
(parameter
|
||||
(identifier)
|
||||
(identifier)
|
||||
(type
|
||||
(builtin_type))))
|
||||
(type
|
||||
(builtin_type))
|
||||
(type
|
||||
(named_type
|
||||
(qualified_identifier
|
||||
(identifier))))
|
||||
(block
|
||||
(statement
|
||||
(constant_declaration
|
||||
(identifier)
|
||||
(expression
|
||||
(binary_expression
|
||||
(expression
|
||||
(identifier))
|
||||
(expression
|
||||
(identifier))))))
|
||||
(statement
|
||||
(if_statement
|
||||
(expression
|
||||
(binary_expression
|
||||
(expression
|
||||
(identifier))
|
||||
(expression
|
||||
(integer))))
|
||||
(statement
|
||||
(block
|
||||
(statement
|
||||
(return_statement
|
||||
(expression
|
||||
(identifier))))))
|
||||
(statement
|
||||
(block
|
||||
(statement
|
||||
(return_statement
|
||||
(expression
|
||||
(enum_literal
|
||||
(identifier))))))))))))
|
||||
Reference in New Issue
Block a user