Вопросы с тегом «compilers»

Вопросы о программах, которые читают код на одном языке (исходный язык) и переводят его в эквивалентную программу на другом языке (целевой язык).

1
Предлагая уточнения типов
На работе мне было поручено вывести некоторую информацию о типах динамического языка. Я переписываю последовательности операторов во вложенные letвыражения, например так: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

3
Парсер рекурсивного спуска с возвратом для грамматики
Может кто-то просветить меня, почему парсер рекурсивного спуска с возвратом, который пробует продукцию и (в этом порядке), не распознает язык, образованный грамматикой .S→aSaS→aSaS \rightarrow aSaS→aaS→aaS \rightarrow aaS→aSa | aaS→aSa | aaS \rightarrow aSa\ |\ aa Похоже, он разбирает только слова из языка .{a2n | n≥1}{a2n | n≥1}\{a^{2^n}\ |\ n \ge …

3
Начало работы с анализом программ
Я ищу ресурсы для начала работы с анализом программы . Единственная книга, которую я нашел по этой теме, это книга Нильсона и Нильсона . Кроме этого, кажется, что есть только книги по «компиляторам», где «программный анализ» будет главой или чем-то в этом роде. Знают ли люди о каких-либо других ресурсах?

2
Теоретическое минимальное количество регистров для современного компьютера?
В бакалавриате я прошел курс по компиляторам, в котором мы написали компилятор, который компилирует исходные программы на игрушечном Java-подобном языке в игрушечный ассемблер (для которого у нас был переводчик). В проекте мы сделали несколько предположений о целевой машине, тесно связанной с «настоящими» нативными исполняемыми файлами, включая: стек времени выполнения, отслеживаемый …

1
Учитывая строку и CFG, какие символы могут следовать за строкой (в предложениях форм CFG)?
Пусть множество терминального и N множества нетерминальных символов некоторой контекстно-свободная грамматика G .ΣΣ\SigmaNNNGGG Скажем , у меня есть строка такое , что х у ∈ S ( G ) , где х , у ∈ ( Е ∪ N ) * и S ( G ) являются сентенциальные формы G …

2
Скомпилируйте язык программирования с самим собой
Я студент информатики. Я хочу создать свой собственный язык программирования (базовый язык с несколькими инструкциями). Я знаю, как сделать синтаксический анализатор, я уже сделал это в Perl. В статье я прочитал кое-что о компиляторе, компилятор сделан сам по себе. Например, компилятор C написан на C. Как это возможно? Я могу …

1
Что является необдуманным примером того, что статическая проверка типов слишком консервативна?
В « Концепциях языков программирования» Джон Митчелл пишет, что статическая проверка типов обязательно является консервативной (чрезмерно строгой) из-за проблемы остановки. Он приводит в качестве примера: if (complicated-expression-that-could-run-forever) then (expression-with-type-error) else (expression-with-type-error) Может ли кто-то дать не надуманный ответ, который действительно будет иметь практическое значение? Я понимаю, что Java позволяет динамически …

3
Эквивалентность анализа потока данных, абстрактной интерпретации и вывода типа?
Ответ Бабу на недавний вопрос напоминает мне о том, что когда-то я читал статью об эквивалентности (с точки зрения как фактов, которые можно вывести или доказать, так и сложности времени выполнения алгоритма вывода) анализа потока данных , абстрактная интерпретация , и тип логического вывода . В некоторых случаях (например, между …

3
Т-диаграмма кросс-компилятора
Я изучаю Bootstrapping из Red Dragon Book Compilers и нашел T-диаграмму для кросс-компилятора довольно запутанной. Я не могу понять, что подразумевается под «Запустить compiler1 через compiler2». Может ли кто-нибудь дать лучшее объяснение, аналогию или пример, связанный с каким-то реальным компилятором? Сначала некоторые обозначения. По То есть компилятор для языка L …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.