UNPKG

tree-sitter-zig

Version:
247 lines (222 loc) 5.55 kB
============================================ Empty statements ============================================ ; --- (source_file (empty_statement)) ============================================ Assigments statements ============================================ const a = 10; var b = 1.1; const a: u32 = 10; var b: f128 = x; var c: MyType = y; var d: ?u64 = null; threadlocal var a = 10; threadlocal var a: ?u32 = 10; comptime var a = 10; var a: ?[4]?u8 = undefined; const a: []u8 = undefined; const b: [*]u8 = undefined; const a: *u8 = undefined; const b: *?u8 = undefined; const c: *[*]u64 = undefined; --- (source_file (assignment_statement name: (identifier) expression: (integer_literal)) (assignment_statement name: (identifier) expression: (float_literal)) (assignment_statement name: (identifier) type: (primitive_type) expression: (integer_literal)) (assignment_statement name: (identifier) type: (primitive_type) expression: (identifier)) (assignment_statement name: (identifier) type: (type_identifier) expression: (identifier)) (assignment_statement name: (identifier) type: (optional_type (primitive_type)) expression: (null_literal)) (assignment_statement (assignment_modifier) name: (identifier) expression: (integer_literal)) (assignment_statement (assignment_modifier) name: (identifier) type: (optional_type (primitive_type)) expression: (integer_literal)) (assignment_statement (assignment_modifier) name: (identifier) expression: (integer_literal)) (assignment_statement name: (identifier) type: (optional_type (array_type size: (integer_literal) (optional_type (primitive_type)))) expression: (undefined_literal)) (assignment_statement name: (identifier) type: (array_type (primitive_type)) expression: (undefined_literal)) (assignment_statement name: (identifier) type: (array_type size: (pointer) (primitive_type)) expression: (undefined_literal)) (assignment_statement name: (identifier) type: (pointer_type (primitive_type)) expression: (undefined_literal)) (assignment_statement name: (identifier) type: (pointer_type (optional_type (primitive_type))) expression: (undefined_literal)) (assignment_statement name: (identifier) type: (pointer_type (array_type size: (pointer) (primitive_type))) expression: (undefined_literal))) ============================================ Function declaration statements ============================================ fn name() {} fn name(a: u8) {} fn name(a: u8, b: u8) {} fn name() u8 {} fn name() @some(a) {} pub fn name() {} export fn name() {} stdcallcc fn name() {} nakedcc fn name() {} inline fn name() {} --- (source_file (function_declaration name: (identifier) parameters: (parameters) body: (block)) (function_declaration name: (identifier) parameters: (parameters (parameter name: (identifier) type: (primitive_type))) body: (block)) (function_declaration name: (identifier) parameters: (parameters (parameter name: (identifier) type: (primitive_type)) (parameter name: (identifier) type: (primitive_type))) body: (block)) (function_declaration name: (identifier) parameters: (parameters) return: (primitive_type) body: (block)) (function_declaration name: (identifier) parameters: (parameters) return: (build_in_call_expr function: (identifier) arguments: (arguments (identifier))) body: (block)) (function_declaration (visibility_modifier) name: (identifier) parameters: (parameters) body: (block)) (function_declaration (function_modifiers) name: (identifier) parameters: (parameters) body: (block)) (function_declaration (function_modifiers) name: (identifier) parameters: (parameters) body: (block)) (function_declaration (function_modifiers) name: (identifier) parameters: (parameters) body: (block)) (function_declaration (function_modifiers) name: (identifier) parameters: (parameters) body: (block))) ============================================ Function signature statements ============================================ fn name(); fn name(a: u8); fn name(a: u8) u8; fn name(a: u8) @some(a); extern fn name(); extern "C" fn name(); --- (source_file (function_signature name: (identifier) parameters: (parameters)) (function_signature name: (identifier) parameters: (parameters (parameter name: (identifier) type: (primitive_type)))) (function_signature name: (identifier) parameters: (parameters (parameter name: (identifier) type: (primitive_type))) return: (primitive_type)) (function_signature name: (identifier) parameters: (parameters (parameter name: (identifier) type: (primitive_type))) return: (build_in_call_expr function: (identifier) arguments: (arguments (identifier)))) (function_signature (function_modifiers (extern_modifier)) name: (identifier) parameters: (parameters)) (function_signature (function_modifiers (extern_modifier (string_literal))) name: (identifier) parameters: (parameters)))