История изменений
Исправление untitl3d, (текущая версия) :
Ты взял очень, а может быть и самый, сложный пример из всех возможных. Написание компилятора это, как известно, борьба с драконом. Посмотри вот ядра bsd систем или того же core kernel линукса, там увидишь как все красиво и лаконично. Ну или любой проект из 90ых на си, там тоже норм. Можно даже в coreutils заглянуть. Не очень красиво, но если вдуматься, понять и простить генерик-реализацию для всех платформ и юзкейсов, то тоже будет норм. Си простой (или примитивный как тут кто-то заявляет). Не надо на нем писать как на жабах и все будет норм ;-)
Исходная версия untitl3d, :
Ты взял очень, а может быть и самый, сложный пример из всех возможных. Написание компилятора это, как известно, борьба с драконом. Посмотри вот ядра bsd систем или того же core kernel линукса, там увидишь как все красиво и лаконично. Ну или любой проект из 90ых на си, там тоже норм. Можно даже в glibc заглянуть. Не очень красиво, но если вдуматься, понять и простить генерик-реализацию для всех платформ и юзкейсов, то тоже будет норм. Си простой (или примитивный как тут кто-то заявляет). Не надо на нем писать как на жабах и все будет норм ;-)