/*
 * Copyright (c) 2026-present, the Ladybird developers.
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

//! Bytecode generator infrastructure for the parser.
//!
//! This module contains the types and machinery needed to generate
//! bytecode from the AST. The generated bytecode is binary-
//! compatible with the C++ `Bytecode::Executable` format.
//!
//! ## Submodules
//!
//! - `operand` -- Register, Operand, Label, and table index types
//! - `instruction` -- Instruction enum (generated from Bytecode.def by build.rs)
//! - `basic_block` -- BasicBlock: list of instructions with control flow metadata
//! - `generator` -- Generator: manages registers, constants, tables, and assembly
//! - `codegen` -- AST-walking code that emits instructions via the Generator
//! - `ffi` -- FFI bridge to create C++ Executable and SharedFunctionInstanceData

pub mod basic_block;
pub mod codegen;
pub mod ffi;
pub mod generator;
pub mod instruction;
pub mod operand;
pub mod validator;
