Size: a a a

Compiler Development

2020 June 19

D

Danya in Compiler Development
Мне тут скинули)
источник

D

Danya in Compiler Development
#compiler  #processing #code

Flex&Bison
John Levine

Качественный материал для тех, кто на досуге пишет компиляторы и изучает  регулярные выражения.

Преимущества:

➕Этапы построения самого компилятора.
➕Широкий диапазон функций обработки текста.
➕Интерпретация кода, конфигурация файлов.
➕Имплементация полной SQL-грамматики (код в наличии)

Недостатки:
Не обнаружено.
источник

D

Danya in Compiler Development
источник

D

Danya in Compiler Development
Alexander Tchitchigin
Тогда лучше забить на flex/bison и взять комбинаторы парсеров. 😂
Онли флекс и бизон!
источник

p

polunin.ai in Compiler Development
Danya
#compiler  #processing #code

Flex&Bison
John Levine

Качественный материал для тех, кто на досуге пишет компиляторы и изучает  регулярные выражения.

Преимущества:

➕Этапы построения самого компилятора.
➕Широкий диапазон функций обработки текста.
➕Интерпретация кода, конфигурация файлов.
➕Имплементация полной SQL-грамматики (код в наличии)

Недостатки:
Не обнаружено.
>для тех кто пишет компиляторы
>интерпретация кода
>широкий диапазон функций обработки текста
мне кажется написать PEG-парсер и интерпретатор сможет любой человек после часа гуглежа)
источник
2020 June 20

RB

Rustem B. in Compiler Development
какими C функциями можно получить кол-во аргументов переданных программе и сами аргументы?
ну, типа, компилятор такой, например
int main(int argc, const char *argv) {
  // ...
}


вот как компилятору брать эти argc и argv?
источник

AD

Artyom Drozdov in Compiler Development
Rustem B.
какими C функциями можно получить кол-во аргументов переданных программе и сами аргументы?
ну, типа, компилятор такой, например
int main(int argc, const char *argv) {
  // ...
}


вот как компилятору брать эти argc и argv?
Компилятор их и не знает. На то это и аргументы, они становятся доступны в runtime.
источник

RB

Rustem B. in Compiler Development
не, это я понял
источник

RB

Rustem B. in Compiler Development
какую функцию нужно использовать, чтобы в рантайме их получить?
источник

AZ

Alexander Zaitsev in Compiler Development
Rustem B.
какую функцию нужно использовать, чтобы в рантайме их получить?
источник

RB

Rustem B. in Compiler Development
а это не может быть на уровне ОС? ну, через syscall?
источник

ВМ

Виталий Медоваров... in Compiler Development
Можно например декомпилировать простейший хелло ворлд и подсмотреть
источник

ВМ

Виталий Медоваров... in Compiler Development
Переслано от Rustem B.
какую функцию нужно использовать, чтобы в рантайме их получить?
источник

RB

Rustem B. in Compiler Development
хммм, я пробовал в LLVM, ничего полезного
но как в GAS?
источник

ВМ

Виталий Медоваров... in Compiler Development
Точка входа на деле будет чуть раньше чем мэйн и там должна быть мякота как раз
источник

B

Bulba in Compiler Development
источник

RB

Rustem B. in Compiler Development
я просто хочу тут это реализовать https://c9x.me/compile/
источник

ВМ

Виталий Медоваров... in Compiler Development
Ну вот по ссылке выше сказано что на стеке всё лежит
источник

RB

Rustem B. in Compiler Development
ага, надо ещё понять как в qbe к стеку обратиться
источник

B

Bulba in Compiler Development
погугли crt1, может там можно откопать что то что отвечает за аргументы
источник