LINUX.ORG.RU

ИИ создал новый компилятор С

 ,


0

3

Степень прохождения тестовых наборов компиляторов, включая GCC Torture Tests, составляет 99%. Уже собирает ядра Linux, PostgreSQL, SQLite, Redis, FFmpeg, GNU coreutils, Busybox, CPython, QEMU, LuaJIT и ещё около 150 проектов. Для разработки компилятора было привлечено 16 AI-агентов, которые после двух недель работы и около двух тысяч сеансов в Claude Code сгенерировали 100 тысяч строк кода на Rust.

Код компилятора

Перемещено hobbit из development


Ответ на: комментарий от CrX

Ну вообще-то это неплохое достижение.

Zero compiler-specific dependencies — the frontend, SSA-based IR, optimizer, code generator, peephole optimizers, assembler, linker, and DWARF debug info generation are all implemented from scratch. Claude’s C Compiler produces ELF executables without any external toolchain.

Правда, не представляю, сколько теперь надо потратить времени, чтобы разобраться, как работает этот код. Пока похоже на write-only подход.

C
()
                            // Parse optional GCC-style flags after the closing quote
                            let mut has_flag_1 = false;
                            let mut k = j + 1; // skip closing quote
                            while k < line_end {
                                // Skip whitespace
                                while k < line_end && bytes[k] == b' ' {
                                    k += 1;
                                }
                                if k < line_end && bytes[k].is_ascii_digit() {
                                    let flag_start = k;
                                    while k < line_end && bytes[k].is_ascii_digit() {
                                        k += 1;
                                    }
                                    if let Some(flag) = parse_u32_from_digits(&bytes[flag_start..k]) {
                                        if flag == 1 {
                                            has_flag_1 = true;
                                        }
                                    }
                                } else {
                                    break;
                                }
                            }

https://github.com/anthropics/claudes-c-compiler/blob/main/src/common/source.rs

Но все-таки пока оно знатный говнокод пишет

C
()
Ответ на: комментарий от C

Правда, не представляю, сколько теперь надо потратить времени, чтобы разобраться, как работает этот код.

The resulting compiler has nearly reached the limits of Opus’s abilities. I tried (hard!) to fix several of the above limitations but wasn’t fully successful. New features and bugfixes frequently broke existing functionality.

Это просто генератор технического долга, на который потратили 20 тысяч долларов. Ну и да, команда разработчиков там активно помогала.

error_
()