Railroad Diagrams
Generated from src/vitte/grammar/vitte.ebnf.
- program
- toplevel
- space_decl
- use_decl
- use_glob
- use_group
- import_items
- import_item
- export_decl
- const_decl
- static_decl
- global_decl
- type_alias_decl
- opaque_type_decl
- extern_type_decl
- form_decl
- class_decl
- union_decl
- form_items
- form_item
- class_items
- class_item
- field_list
- field_item
- bits_decl
- bitfield_list
- bitfield_item
- pick_decl
- case_list
- case_item
- case_payload
- case_field
- flags_decl
- flag_list
- flag_item
- trait_decl
- trait_item
- associated_type_decl
- impl_decl
- impl_head
- impl_item
- proc_signature
- proc_decl
- proc_name
- operator_symbol
- proc_modifier
- proc_suffix
- extern_block
- extern_item
- extern_proc_decl
- extern_clause
- extern_abi
- callconv
- intrinsic_decl
- macro_decl
- macro_param_list
- macro_param
- macro_kind
- comptime_decl
- static_assert_decl
- test_decl
- bench_decl
- entry_decl
- visibility
- visibility_scope
- generic_params
- generic_param_list
- generic_param
- where_clause
- where_bounds
- where_bound
- trait_bound
- param_list
- param
- self_param
- normal_param
- variadic_param
- param_mode
- effects_clause
- requires_clause
- capability_list
- capability
- module_path
- package_path
- relative
- package_parts
- ident_list
- compiler_decl
- compiler_items
- compiler_item
- compiler_phase_decl
- compiler_stage_decl
- compiler_artifact_decl
- compiler_pipeline_decl
- pipeline_step
- compiler_cache_decl
- cache_item
- compiler_target_decl
- target_item
- query_decl
- query_body
- pass_decl
- pass_items
- pass_item
- backend_decl
- backend_items
- backend_item
- backend_format
- backend_output
- diagnostic_decl
- diagnostic_code
- diagnostic_items
- diagnostic_item
- diagnostic_level
- attr_prefix
- inner_attribute
- outer_attribute
- doc_comment
- docstring
- attr_path
- attr_arg_list
- attr_arg
- block
- stmt
- stmt_end
- local_const_stmt
- let_stmt
- set_stmt
- assign_target
- give_stmt
- try_stmt
- defer_stmt
- asm_stmt
- asm_arg_list
- asm_arg
- unsafe_stmt
- emit_stmt
- assert_stmt
- panic_stmt
- unreachable_stmt
- if_stmt
- while_stmt
- loop_stmt
- for_stmt
- break_stmt
- continue_stmt
- select_stmt
- match_stmt
- match_arm_body
- when_match_stmt
- with_stmt
- critical_stmt
- expr_stmt
- expr
- assign_expr
- assign_op
- ternary_expr
- coalesce_expr
- range_expr
- or_expr
- and_expr
- bit_or_expr
- bit_xor_expr
- bit_and_expr
- eq_expr
- rel_expr
- rel_op
- shift_expr
- add_expr
- mul_expr
- cast_expr
- unary_expr
- postfix_expr
- call_suffix
- member_suffix
- index_suffix
- try_suffix
- await_suffix
- index_expr
- slice_expr
- primary
- path_expr
- arg_list
- arg
- tuple_lit
- set_lit
- map_lit
- map_items
- map_item
- bytes_lit
- resource_lit
- resource_items
- resource_item
- struct_lit
- type_path
- field_init_list
- field_init
- if_expr
- proc_expr
- match_expr
- lambda_expr
- unsafe_expr
- builtin_expr
- sizeof_expr
- alignof_expr
- offsetof_expr
- typeof_expr
- nameof_expr
- pattern
- pattern_or
- pattern_atom
- pattern_bind
- pattern_ctor
- pattern_head
- pattern_args
- pattern_struct
- pattern_fields
- pattern_field
- pattern_tuple
- pattern_list
- pattern_range
- type_expr
- type_union
- type_prefix
- type_qualifier
- type_qual
- addr_space
- type_atom
- reference_type
- pointer_type
- optional_type
- fixed_array_type
- slice_type
- tuple_type
- proc_type
- type_list
- type_param
- dyn_type
- impl_trait_type
- type_primary
- lifetime
- primitive_type
- literal
- list_lit
- list_comp
- bool_lit
- null_lit
- int_lit
- float_lit
- exponent
- char_lit
- char_char
- string_lit
- string_char
- escape_seq
- raw_string_lit
- raw_string_char
- line_comment
- block_comment
- zone_comment
- ident
- suffix
- WS
- WS1
- NEWLINE
- LETTER
- DIGIT
- BINDIGIT
- OCTDIGIT
- HEXDIGIT
- EOF