Fragen zum Entwurf, zur Implementierung und zur Analyse von Programmiersprachen. NICHT für Fragen zum Programmieren, die auf dieser Site nicht zum Thema gehören.
Ich interessiere mich weniger für Sprachen, in denen Sie fast alles schreiben können, aber dann müssen Sie einen begleitenden Beweis dafür schreiben, dass das, was Sie geschrieben haben, endet. Ich interessiere mich mehr für den Entwurfsraum von Sprachen, die von Natur aus konstruktionsbedingt auf bestimmte Komplexitätsklassen beschränkt sind. Gibt es …
Ich las Struktur und Interpretation von Computerprogrammen (SICP), MIT. Was ich verstanden habe ist, dass es in einer rein funktionalen Programmiersprache keinen lokalen Staat gibt. SICP, S. 230 sagt: "Das Programmieren ohne Verwendung von Aufgaben, wie wir es in den letzten beiden Kapiteln dieses Buches getan haben, wird dementsprechend als …
Gibt es Beispiele für reale Computersprachen, die nicht deterministisch sind? Unter Computersprachen verstehe ich Programmiersprachen, Markup-Sprachen, Abfragesprachen, Modellierungssprachen, Transformationssprachen usw. Mit nicht deterministisch meine ich, dass sie nicht mit deterministischen Grammatiken analysiert werden können.
(Verwenden der Haskell-Syntax, da die Frage von Haskell inspiriert ist, sie gilt jedoch für allgemeine polymorphe Hindley-Milner-Systeme wie SML oder Elm.) Wenn ich eine Typensignatur habe f :: a -> [a], wie lautet der logische Satz, der von dieser Typensignatur codiert wird? Ich weiß , dass Typkonstruktoren mag ->, (,)entspricht …
Ich habe gelesen, dass die Namensbindung einem Bezeichner einen Wert (Daten / Code / Ausdruck) zuweist . Zuordnung und Bewertung scheinen dasselbe zu tun. Es ist verwirrend. Kann ich nur sagen, dass es sich bei der freien Variablen um eine Variable handelt, der kein Wert zugewiesen wurde, während der Wert …
HINTERGRUND: Kürzlich habe ich versucht, ein bestimmtes schwieriges Problem zu lösen, das als Eingabe ein Array von Zahlen erhält . Für war die einzige Lösung, die ich finden konnte, eine andere Behandlung für jede der Ordnungen der 3 Zahlen zu haben. Das heißt, es gibt eine Lösung für den Fall …
Ich lerne die Programmiersprache Haskell. Nach dem, was ich lese, stellt Input / Ouput ( IO ) die Reinheit von Haskell vor Herausforderungen, da wir per Definition mit der Außenwelt interagieren. Aus Wikipedia: In einer rein funktionalen Sprache wie Haskell können Funktionen im Rahmen der Funktionssemantik keine äußerlich sichtbaren Nebenwirkungen …
Ich möchte eine Frage zu mehreren Rückgabewerten stellen, warum dieses Konstrukt in Programmiersprachen (konzeptionelle und / oder technische Schwierigkeiten) nicht vorzuziehen ist. Ich habe etwas über Stapelrahmen gehört und wie sie Speicher für Rückgabewerte und variable Rückgabewerte reservieren, könnte dies problematisch machen, aber wenn jemand dies besser erklären könnte, wäre …
Ich suche nach einer guten Speicherbereinigungstechnik für meine Sprache und habe dieses Papier gefunden , in dem Benjamin Goldberg eine Speicherbereinigungstechnik für stark typisierte Sprachen beschreibt, bei der zur Laufzeit keine Typinformationen mehr benötigt werden. Kurz gesagt, dies erfolgt durch Platzieren eines Zeigers auf eine Garbage Collection-Funktion direkt nach einem …
Gibt es ein gutes allgemeines Papier über die Interpretation oder Kompilierung von REGEXP in Programmiersprachen für den Mustervergleich mit oder ohne Variablen? Ich bin nicht auf der Suche nach einer kurzen Erklärung zum Aufbau von DFAs, sondern nach einem echten Papier darüber, wie dies bei der Implementierung von Programmiersprachen tatsächlich …
Der Begriff "Vollständigkeit" wurde in mehreren von mir belegten Informatikkursen erörtert. Ich habe jedoch nie ein intuitives Gefühl dafür bekommen, was die Vollständigkeit von Turing tatsächlich erfordert. Ich habe diese Frage gefunden, aber die Antworten sind etwas mathematischer als das, wonach ich suche. Nehmen Sie eine gängige Programmiersprache wie C …
Das folgende Array belegt 10000 Speicherplätze: a = [0,1,2,3,4,5,6,7,8,9,10,...,10000] Aber man könnte leicht das gleiche Array darstellen wie: a = {len:10000, get: λ idx -> idx} Welches ist viel kompakter. Ebenso gibt es mehrere Arrays, die kompakt dargestellt werden können: a = {a:1000, get: λ idx -> idx * 2} …
Ich denke, die Frage ist autark. Ist die Syntax der C-Sprache vollständig durch kontextfreie Grammatiken definiert, oder haben wir Sprachkonstrukte, für die im Verlauf des Parsens möglicherweise nicht kontextfreie Definitionen erforderlich sind? Ein Beispiel für ein Nicht-CFL-Konstrukt, das ich dachte, war die Deklaration von Variablen vor ihrer Verwendung. In Compilern …
Wikipedia : Das strukturierte Programm [...] besagt, dass [...] jeder Algorithmus mit nur drei Kontrollstrukturen ausgedrückt werden kann. Sie sind Ausführen eines Unterprogramms und dann eines anderen Unterprogramms (Sequenz) Ausführen eines von zwei Unterprogrammen gemäß dem Wert eines booleschen Ausdrucks (Auswahl) Ausführen eines Unterprogramms, bis ein boolescher Ausdruck wahr ist …
Ich weiß nicht viel über Yacc, Bison, Flex oder Lex und bitte korrigiere mich, wenn ich falsch liege, aber eine Programmiersprache ist auch eine Turing-Maschine und eine Turing-Maschine ist als Tupel definiert (Q,Γ,b,Σ,δ,q0,F)(Q,Γ,b,Σ,δ,q0,F)(Q, \Gamma, b, \Sigma, \delta, q_0, F) wo QQQ, ΓΓ\Gamma, b∈Γb∈Γb \in \Gamma, Σ⊆Γ∖{b}Σ⊆Γ∖{b}\Sigma \subseteq \Gamma \smallsetminus \{ …
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.