文件
JGZ_YES 83fe7bfb83 Initial commit: PazeE Language Alpha-0.1
PazeE 编译器(.NET 8/C# 实现),直接生成原生 x64/ARM64 机器码,无需 gcc/clang/nasm。

主要特性:
- 词法/语法/语义分析、AST 生成、代码生成
- 目标平台:Windows (PE32+)、Linux (ELF64)、macOS (Mach-O 64)、Los4
- 架构:AMD64 与 ARM64 独立后端
- C 语法特性:匿名结构体/联合、位域、灵活数组成员、语句表达式+typeof
- printf 颜色格式化、time.get.utc 时区支持
- GUI 支持:Windows (Win11 API)、Los4、Linux (X11)、macOS (ObjC)
- Windows GUI 程序无控制台窗口(PE 子系统自动检测)
- WiX Bundle 安装器(仅输出 .exe,MSI 作为中间产物内嵌)
2026-08-02 16:29:31 +08:00

48 行
1.2 KiB
Plaintext

// loops.pe — 验证 while / do-while / for / 嵌套循环 / break / continue
int main(void)
{
// while 累加 1..100
int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i++;
}
printf("sum(1..100) = %d\n", sum); // 5050
// do-while 阶乘
int n = 5;
int fact = 1;
do {
fact *= n;
n--;
} while (n > 0);
printf("5! = %d\n", fact); // 120
// 嵌套 for + break/continue:收集 a==b 时的 a*b
int diag = 0;
for (int a = 1; a <= 3; a++) {
for (int b = 1; b <= 3; b++) {
if (a == b) { diag += a * b; continue; }
if (a + b > 5) break;
}
}
printf("diag = %d\n", diag); // 1+4+9 = 14
// continue 跳过偶数,累加奇数
int oddsum = 0;
for (int k = 0; k < 10; k++) {
if (k % 2 == 0) continue;
oddsum += k;
}
printf("oddsum = %d\n", oddsum); // 1+3+5+7+9 = 25
// do-while 至少执行一次(条件初值即假)
int once = 0;
int z = 10;
do { once++; } while (z < 0);
printf("once = %d\n", once); // 1
return 0;
}