Описание тега compiler-development

Используется для вопросов о разработке компилятора (но не о дизайне).
2 ответа

ПРОЧИТАЙТЕ перед началом вашего проекта компилятора

Вообще-то, это прежде всего мечта... Возможно, когда-нибудь у меня будет свой собственный язык программирования!, но это скоро превратится в кошмар, сразу после того, как вы ищете Как собрать компилятор?, Я провожу слишком много времени, как и больш…
5 ответов

Вопросы по оптимизации компилятора

Каким образом компилятор устраняет повторные вычисления подвыражений? Как вы отслеживаете подвыражения? И как вы идентифицируете повторяющиеся? Помимо использования побитовых операторов, какие методы снижения прочности используются обычными компилят…
3 ответа

Работает ли деление петли в одноядерных?

Когда имеет смысл использовать Loop Fission/ Distribution, если я компилирую для одноядерного процессора?
6 ответов

Компилятор, который распознает разные языки и отправляет их соответствующим компиляторам. Возможный?

Я думал, можно ли соединить asp.net, php и java для формирования одной страницы. На самом деле мне не нужна такая вещь, как сейчас. Это была просто идея, которая пришла мне в голову, так как некоторые функции некоторых языков хороши, а некоторые фун…
1 ответ

Уменьшить количество временных переменных

Я пишу что-то вроде компилятора. Проблема в следующем: у меня есть код, состоящий из последовательности назначений: t1=a+b+c t2=t1*d t3=sqrt(t1+t2) t4=t2+5 ... большинство "t"-вариантов являются временными. Я хочу уменьшить количество временных пере…
1 ответ

Что такое объектно-ориентированный сканер (лексический анализ)?

Недавно я натолкнулся на концепцию лексического анализа под названием "Объектно-ориентированный сканер", но я не смог отличить ее от обычной техники сканирования. Что может быть лишним в объектно-ориентированном сканере, пожалуйста, помогите мне пон…
1 ответ

Тип компилятора Продвижение правосторонних выражений автоматически в операторе присваивания

Почему компилятор, не являющийся типом, переводит все вычисления выражений в правой части выражения присваивания по крайней мере на левый уровень типа? например, "double x = (88.0 - 32) * 5 / 9" преобразуется в градусы Цельсия из Фаренгейта правильн…
0 ответов

Устранение двусмысленности, оставленной рекурсии и факторизации

Может кто-нибудь сказать мне, является ли следующая грамматика LL(1) или нет, если нет, пожалуйста, предложите, как преобразовать ее в LL(1). Насколько я знаю, это не потому, что первое (A) пересечение следует (A)={d} не пустой набор. Может кто-нибу…
9 ответов

Как я могу заставить свой собственный компилятор C++ понимать шаблоны, вложенные классы и т. Д. Сильные стороны C++?

В моей группе - задача университета написать компилятор языка, подобного Си. Конечно, я собираюсь реализовать небольшую часть нашего любимого C++.Точная задача абсолютно глупа, и лектор сказал нам, что она должна быть самоскомпилируемой (должна быть…
06 мар '09 в 13:30
2 ответа

Как мне реализовать прямые ссылки в компиляторе?

Я создаю компилятор с Lex и YACC (на самом деле Flex и Bison). Язык допускает неограниченные прямые ссылки на любой символ (например, C#). Проблема в том, что невозможно разобрать язык, не зная, что такое идентификатор. Единственное известное мне ре…
2 ответа

Что такое нормальная форма?

Я читал о различных промежуточных формах, но я не могу получить информацию об А-нормальных формах, кроме википодобных записей. Кто-нибудь здесь знает об этом или имеет хорошие ресурсы об этом?
1 ответ

Частичное применение в LLVM

Я пытаюсь создать функцию "добавить", которая может быть применена к одному аргументу, а затем к другому. Я не могу понять, как представить это с помощью LLVM IR, поскольку я не понимаю, как вызвать функцию с одним значением, затем сохранить значени…
0 ответов

Часть компилятора вычисляет арифметические операции

Какая часть компилятора выполняет арифметические операции? EX- int x = 5; int y = 4; print(x+y); Часть вычисляет функцию печати (лексика, синтаксис, семантика) Я пытаюсь компилятор
1 ответ

Расчет внешнего интерфейса дизайна компилятора в функции main для Clang и Zig

Я начал читать исходный код clang а также zig-lang. К сожалению, исходные коды сложны, и я не могу узнать, где интерфейс этих компиляторов вызывается в основной функции. В clang, более близкое место, которое я нашел, находится здесь, но оно не похож…
21 июн '20 в 08:32
0 ответов

Как создать промежуточное представление для языка с вложенными функциями?

Я пишу компилятор для языка с вложенными функциями. Я решил использовать отображение для доступа к локальным переменным внешних функций из внутренних, я не знаю, как представить запись записи активации для отображения массива в промежуточном предста…
1 ответ

Грамматика C генерирует недопустимое выражение

Я читаю книгу namad "Ретаргетируемый компилятор C: дизайн и реализация". В этой книге грамматика языка C выглядит так: expression: assignment-expression { , assignment-expression } assignment-expression: conditional-expression unary-expression assig…
1 ответ

как установить базу десятичных чисел по умолчанию компилятора C/C++/Rust в шестнадцатеричную базу?

Кажется , шестнадцатеричные числа хороши для программирования iot c/ C++/rust. Ниже представлены изображения в пользу шестнадцатеричных чисел. Я ищу компилятор ржавчины, в котором шестнадцатеричное является базой по умолчанию для целых чисел с плава…
1 ответ

Язык ассемблера для разработки компиляторов

Я попытался создать небольшой компилятор и закончил Lexer и Parser. И теперь мне нужно создать часть этого Генератора кода сборки. Так что у меня проблемы! На самом деле я хорошо умею C, и я изучил сборку NASM для этой задачи. Теперь я могу создават…
1 ответ

Почему мы считаем строку одним токеном при лексическом анализе конструкции компилятора?

Я изучаю дизайн компилятора. Задача лексического анализатора в компиляторе - преобразовать код в поток токенов. Но я не понимаю, почему мы рассматриваем строку как отдельный токен. Например - printf("%d is integer", x); В этом заявлении printf, (, "…
0 ответов

Как найти следующий набор нетерминалов, который дважды сходится с правой стороны,

Например, грамматика S->AA.A->aA|b что следует за набором A В одном месте написано введите описание изображения здесь но если это правильно, то как он рассчитывается