Size: a a a

Compiler Development

2020 December 10

MM

Mikhail Maltsev in Compiler Development
Нет, у них вообще нет встроенного ассемблера.
источник

а

а это кто in Compiler Development
Mikhail Maltsev
Нет, у них вообще нет встроенного ассемблера.
У кого это у них? У GCC есть
источник

MM

Mikhail Maltsev in Compiler Development
а это кто
У кого это у них? У GCC есть
Нет, GCC генерит код на ассемблере в текстовом виде и скармливает его ассемблеру. Как временный файл или через pipe.
источник

а

а это кто in Compiler Development
Хорошо, неправильно понял)
источник

LA

Liber Azerate in Compiler Development
Mikhail Maltsev
Нет, GCC генерит код на ассемблере в текстовом виде и скармливает его ассемблеру. Как временный файл или через pipe.
По идее, я мог бы примерно так же сделать, наверное. Хотя для меня это просто интересный учебный проект
источник

h

hazer_hazer in Compiler Development
Может быть и очень простой вопрос, но всё же: Си хранит у себя какой-то мэп лейблов куда прыгать, или как он запоминает куда прыгать, например, к функции?
источник

BD

Berkus Decker in Compiler Development
hazer_hazer
Может быть и очень простой вопрос, но всё же: Си хранит у себя какой-то мэп лейблов куда прыгать, или как он запоминает куда прыгать, например, к функции?
имена функций это символы,  символы респолагает и резолвит линкер
источник

BD

Berkus Decker in Compiler Development
(линкер и си никак не связаны)
источник

M

MrSmith in Compiler Development
hazer_hazer
Может быть и очень простой вопрос, но всё же: Си хранит у себя какой-то мэп лейблов куда прыгать, или как он запоминает куда прыгать, например, к функции?
Да
источник

M

MrSmith in Compiler Development
Как ты это сделаешь вопрос десятый
источник

M

MrSmith in Compiler Development
Главное в адт иметь метод get_label_pos к примеру
источник

BD

Berkus Decker in Compiler Development
нет, никаких pos, только символы
источник

M

MrSmith in Compiler Development
Возвращать можно statement сразу за ним
источник

h

hazer_hazer in Compiler Development
Berkus Decker
нет, никаких pos, только символы
лейбл это ж символ. а pos будет точкой в машинном коде. не?
источник

M

MrSmith in Compiler Development
Позиция не обязательно в тексте в дереве же тоже позиция
источник

h

hazer_hazer in Compiler Development
Почему тогда япы, компилируемые в байт-код не делают так? Из-за замыканий?
источник

M

MrSmith in Compiler Development
Ну назови get_label_target
источник

BD

Berkus Decker in Compiler Development
hazer_hazer
лейбл это ж символ. а pos будет точкой в машинном коде. не?
да, никаких пос
источник

M

MrSmith in Compiler Development
hazer_hazer
лейбл это ж символ. а pos будет точкой в машинном коде. не?
Позиция это stmt
источник

M

MrSmith in Compiler Development
Ну покрайне мере у меня
источник