Als «compilers» getaggte Fragen

Fragen zu Programmen, die Code in einer Sprache (Ausgangssprache) lesen und in ein gleichwertiges Programm in einer anderen Sprache (Zielsprache) übersetzen.

4
Warum ist die Linksrekursion schlecht?
Diese Frage wurde von Theoretical Computer Science Stack Exchange migriert, da sie über Computer Science Stack Exchange beantwortet werden kann. Vor 6 Jahren migriert . Warum sollte im Compiler-Design die Linksrekursion in Grammatiken beseitigt werden? Ich lese, dass es daran liegt, dass es eine unendliche Rekursion verursachen kann, aber gilt …



2
Warum wird bei vielen branchenüblichen Compilern die statische Einzelzuweisung der Weitergabe vorgezogen?
Laut der Wikipedia-Seite zu statischer Einzelzuweisung (SSA) wird SSA von großen und bekannten Projekten wie LLVM, GCC, MSVC, Mono, Dalvik, SpiderMonkey und V8 verwendet, während die Seite zu Projekten im Continuation-Passing-Stil verwendet wird (CPS) ist im Vergleich etwas mangelhaft. Ich habe die Vorstellung, dass CPS von Compilern und Interpreten bevorzugt …

1
Warum getrennt lexen und analysieren?
Es ist möglich, ein Dokument mit einem einzigen Durchgang von einem Zustandsautomaten aus zu analysieren. Was ist der Vorteil von zwei Durchgängen, dh. Haben Sie einen Lexer zum Konvertieren von Text in Token und einen Parser zum Testen der Produktionsregeln für diese Token? Warum nicht einen einzigen Durchgang haben, der …

1
Typinferenz mit Produkttypen
Ich arbeite an einem Compiler für eine verkettete Sprache und möchte Unterstützung für Typinferenz hinzufügen. Ich verstehe Hindley-Milner, aber ich habe die Typentheorie im Laufe der Zeit gelernt, daher bin ich mir nicht sicher, wie ich sie anpassen soll. Ist das folgende System solide und eindeutig ableitbar? Ein Begriff ist …

2
Welche Eigenschaft der Nachteile ermöglicht die Eliminierung der modulo Nachteile der Schwanzrekursion?
Ich bin mit der Idee der grundlegenden Beseitigung der Schwanzrekursion vertraut , bei der Funktionen, die das direkte Ergebnis eines Aufrufs an sich selbst zurückgeben, als iterative Schleifen umgeschrieben werden können. foo(...): # ... return foo(...) Ich verstehe auch, dass die Funktion als Sonderfall immer noch umgeschrieben werden kann, wenn …


6
Muss ein abstrakter Syntaxbaum ein Baum sein?
Muss die Ausgabe eines Parsers ein Baum sein oder könnte es auch ein allgemeiner Graph sein? Gibt es darüber hinaus eine Sprache oder eine plausible Sprache, die allgemeine Diagrammdarstellungen anstelle von Bäumen für ihre Syntax verwendet?





1
Der „CPS“ -Ansatz hat die Leistung in SML / NJ stark beeinträchtigt. Argumentation erwünscht
In einem Kommentar zu Learning F #: Welche Bücher mit anderen Programmiersprachen können in F # übersetzt werden, um funktionale Konzepte zu lernen? Makarius erklärte: Beachten Sie, dass der "CPS" -Ansatz die Leistung in SML / NJ erheblich beeinträchtigt hat. Das physikalische Bewertungsmodell verstößt gegen zu viele Annahmen, die in …

1
Verfeinerungsarten ableiten
Bei der Arbeit wurde ich beauftragt, einige Typinformationen über eine dynamische Sprache abzuleiten. Ich schreibe Folgen von Anweisungen in verschachtelte letAusdrücke um, wie folgt: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z …
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 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.