Запитання з тегом «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 T …
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→ a SаS→аSаS \rightarrow aSaS→S→ааS \rightarrow aaS→ a Sа | a a S→аSа | ааS \rightarrow aSa\ |\ aa Здається, лише розбирають слова з мови .{ a2н …

3
Початок роботи з аналізом програми
Я шукаю ресурси для початку роботи з програмним аналізом . Єдина книга, яку я знайшов у цій темі, - це книга Nielson & Nielson . Крім цього, здається, що є лише "компіляторні" книги, де "аналіз програм" був би главою, або щось подібне. Чи знають люди про якісь інші ресурси?

2
Теоретична мінімальна кількість регістрів для сучасного комп’ютера?
Я взяв курс на компілятори в моєму бакалаврському навчанні, в якому ми написали компілятор, який збирає вихідні програми на іграшці, схожі на мову Ява, на мову складання іграшок (для якої у нас був перекладач). У проекті ми зробили кілька припущень щодо цільової машини, тісно пов’язаної з "справжніми" власними виконуваними файлами, …

1
З огляду на рядок та CFG, які символи можуть слідувати за рядком (у сентенційних формах CFG)?
Нехай безліч термінального та безлічі нетермінальних символів деякої контекстно-вільна граматика .N GΣΣ\SigmaNNNГGG Скажіть, у мене є рядок така, що де та , є сентенціальной формами . x a y ∈ S ( G ) x , y ∈ ( Σ ∪ N ) ∗ S ( G ) Ga ∈ …

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
Діаграма крос-компілятора
Я вивчаю завантажувальну програму у Red Dragon Book Compilers і виявив T-схему для крос-компілятора досить заплутана. Я не можу зрозуміти, що означає "Запустити компілятор1 через компілятор2". Чи може хтось надати краще пояснення, аналогію чи приклад, що стосується якогось компілятора реального світу? Перше позначення. За LSN=LSN=LSN= Я маю на увазі компілятор …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.