opcode

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2026 License: AGPL-3.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Opcode

type Opcode uint8

Opcode đại diện cho một chỉ thị bytecode trong Kitwork Engine (stack-based VM).

const (
	PUSH    Opcode = iota // Đẩy literal/hằng số lên Stack
	POP                   // Loại bỏ giá trị trên đỉnh Stack
	LOAD                  // Tải giá trị từ Vars/Context lên Stack (theo index)
	STORE                 // Lưu giá trị từ Stack vào Vars/Context (theo index)
	GET                   // Lấy thuộc tính/phần tử (obj.prop)
	DUP                   // Sao chép giá trị trên cùng của stack
	BUILTIN               // Tải hàm hệ thống theo index (Siêu nhanh)

	ADD // Cộng (+)
	SUB // Trừ (-)
	MUL // Nhân (*)
	DIV // Chia (/)

	AND // Logic AND (Hỗ trợ short-circuit)
	OR  // Logic OR (Hỗ trợ short-circuit)
	NOT // Logic NOT (Đảo ngược boolean)

	COMPARE // So sánh (==, !=, <, >, ...) - hành vi định nghĩa qua operand
	JUMP    // Nhảy không điều kiện đến Instruction Pointer
	TRUE    // Nhảy nếu đỉnh Stack là True
	FALSE   // Nhảy nếu đỉnh Stack là False
	ITER    // Vòng lặp tối ưu: Kiểm tra + Lấy phần tử + Nhảy
	HALT    // Dừng thực thi ngay lập tức (Cưỡng bức)
	YIELD   // Tạm dừng thực thi (Nhường tài nguyên/Hồi phục)

	MAKE  // Tạo cấu trúc dữ liệu mới (Map, Array từ Pool)
	SET   // Gán giá trị vào cấu trúc (key/index → value)
	MERGE // Gộp các phần tử từ object nguồn vào object đích (Spread)

	CALL   // Gọi hàm host (Go) / Builtin
	INVOKE // Gọi phương thức đối tượng (obj.method)
	LAMBDA // Khởi tạo/Kích hoạt hàm ẩn danh
	RETURN // Kết thúc hàm, dọn dép stack frame
	DEFER  // Đảm bảo dọn dẹp/hoàn trả năng lượng khi kết thúc
	SPAWN  // Chạy lambda trong Goroutine riêng (Fire & Forget)
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL