Was sind die grundlegenden Unterschiede zwischen der operativen Semantik in kleinen und großen Schritten? Es fällt mir schwer zu begreifen, was es ist und was die Motivation ist, die beiden zu haben.
Ich suche nach einem einfachen Kalkül, das die Überlegungen zur Reflexion unterstützt , nämlich die Introspektion und Manipulation von laufenden Programmen. Gibt es eine untypisierte λλ\lambda Kalkulus-Erweiterung, mit der man λλ\lambda Terme in eine Form umwandeln kann, die syntaktisch manipuliert und anschließend ausgewertet werden kann? Ich stelle mir vor, dass …
Bei einem markierten Übergangssystem ist eine Menge von Zuständen, eine Menge von Markierungen und eine ternäre Beziehung. Schreiben Sie wie üblich für . Der markierte Übergang dass das System im Zustand Zustand mit label \ alpha in q ändert , was bedeutet, dass \ alpha eine beobachtbare Aktion ist, die …
In dem Artikel "Ein konfliktfrei replizierter JSON-Datentyp" stieß ich auf die folgende Notation, um "Regeln" formal zu definieren: Wie heißt diese Notation? Wie lese ich es? Beispielsweise: Die DOCRegel hat nichts im "Zähler" - warum nicht? Die Regeln EXECund GETscheinen zwei getrennte Ausdrücke über der Linie zu haben. Was bedeutet …
In Programmiersprachen sind Verschlüsse ein beliebtes und oft gewünschtes Merkmal. Wikipedia sagt (Hervorhebung von mir): In der Informatik ist ein Closure (...) eine Funktion zusammen mit einer Referenzierungsumgebung für die nicht lokalen Variablen dieser Funktion. Ein Closure ermöglicht es einer Funktion, auf Variablen außerhalb ihres unmittelbaren lexikalischen Bereichs zuzugreifen. Ein …
Ich kämpfe wirklich mit dieser Eigenschaft: Lassen seine Kohärenz Räume und f : C L ( X ) → C L ( Y ) eine monotone Funktion sein. f ist kontinuierlich , wenn und nur wenn f ( ⋃ x ∈ D x ) = ⋃ x ∈ D f …
Mit Bezug auf Funktionen in Sprachen wie Ruby (und Javascript), die es einem Programmierer ermöglichen, Klassen jederzeit nach ihrer Definition zu erweitern / außer Kraft zu setzen (einschließlich Klassen wie String), ist es theoretisch machbar, eine Sprache zu entwerfen, mit der Programme später erweitert werden können seine Semantik. Beispiel: Ruby …
Ich bin mit der operativen Semantik (sowohl in kleinen als auch in großen Schritten) zur Definition von Programmiersprachen vertraut. Ich interessiere mich auch für das Erlernen der Denotationssemantik, bin mir aber nicht sicher, ob sich die Mühe lohnt. Werde ich das gleiche Material nur aus einer anderen Perspektive lernen, oder …
Angenommen, wir haben eine einfache Sprache, die aus folgenden Begriffen besteht: t r u etrue\mathtt{true} f a l s efalse\mathtt{false} Wenn Terme sind, ist dies aucht 1 , t 2 , t 3 t1,t2,t3t_1,t_2,t_3i ft 1t h e nt 2e l s et 3ift1thent2elset3\mathtt{if}\: t_1 \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 Nehmen …
Ich glaube, ich bin ziemlich verwirrt darüber, was als Kalkül und was als Programmiersprache bezeichnet wird. Ich neige dazu, zu denken und könnte gesagt worden sein, dass ein Kalkül ein formales System ist, um über die Gleichwertigkeit von Programmen zu argumentieren. Programme haben eine von einer Maschine festgelegte operationale Semantik, …
Es gibt viele beliebte Sprachen. Informatiker sagen uns jedoch, dass wir, um das Verhalten von Programmen in diesen Sprachen definitiv und eindeutig verstehen zu können, diese in eine andere, gut verstandene Sprache übersetzen müssen (z. B. um ihre Identität zu beweisen). Sie nennen solche Sprache "eine Semantik". Autoren schlagen eine …
Gibt es ein Tool zum Prototyping einer Programmiersprachen-Semantik und eines Typsystems, das auch eine Art Modellprüfung von Standardeigenschaften wie der Typensicherheit ermöglicht? Ich frage dies, weil ich ein Buch über Legierung lese und es genau die Funktionalität bietet, die ich möchte, aber für Modelle, die mit relationaler Logik ausgedrückt werden. …
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 …
In der Diskussion um diese Frage erwähnt Gilles richtig, dass jeder Korrektheitsnachweis eines Algorithmus, der Arrays verwendet, beweisen muss, dass es keine Array-Zugriffe außerhalb der Grenzen gibt. Abhängig vom Laufzeitmodell würde dies einen Laufzeitfehler oder den Zugriff auf Nicht-Array-Elemente verursachen. Eine übliche Technik, um solche Korrektheitsnachweise durchzuführen (zumindest in Grundstudien …
Ich suche nach Ressourcen für den Einstieg in die Programmanalyse . Das einzige Buch, das ich zu diesem Thema gefunden habe, ist das Nielson & Nielson- Buch. Davon abgesehen scheint es nur "Compiler" -Bücher zu geben, in denen "Programmanalyse" ein Kapitel oder etwas in dieser Richtung wäre. Kennen die Leute …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.