Die größte Sammlung von Tutorials und Referenzen

Compiler Design

YACC-Programm, um zu prüfen, ob die angegebene Zeichenfolge Palindrome ist oder nicht

Problem: Schreiben Sie ein YACC-Programm, um zu prüfen, ob die angegebene Zeichenfolge Palindrome ist oder nicht. Erläuterung: Yacc (für „noch ein weiterer Compiler Compiler.“) ist der Standard-Parser-Generator für das Unix-Betriebssystem. Als Open-Source-Programm generiert yacc Code für den Parser in der Programmiersprache C. Das Akronym wird normalerweise in Kleinbuchstaben wiedergegeben, wird aber gelegentlich als YACC oder Yacc angesehen. Beispiele: Input: naman Output:....

YACC-Programm zur Konvertierung von Infix- in Postfix-Ausdruck

Problem: Schreiben Sie ein YACC-Programm zur Konvertierung von Infix- in Postfix-Ausdrücken. Erläuterung: YACC (Yet another Compiler-Compiler) ist der Standard-Parser-Generator für das Unix-Betriebssystem. Als Open-Source-Programm generiert yacc Code für den Parser in der Programmiersprache C. Das Akronym wird normalerweise in Kleinbuchstaben wiedergegeben, wird aber gelegentlich als YACC oder Yacc angesehen. Beispiele: Input: a*b+c Output: ab*c+ Input: a+b*d Output: abd*+ Lexical Analyzer-Quellcode: %{   /* Definition section....

YACC-Programm für die Umwandlung von Binär in Dezimal

Problem: Schreiben Sie ein YACC-Programm für die Umwandlung von Binär in Dezimal. Erläuterung: Yacc (für „noch ein weiterer Compiler Compiler.“) ist der Standard-Parser-Generator für das Unix-Betriebssystem. Als Open-Source-Programm generiert yacc Code für den Parser in der Programmiersprache C. Das Akronym wird normalerweise in Kleinbuchstaben wiedergegeben, wird aber gelegentlich als YACC oder Yacc angesehen. Beispiele: Input: 0101 Output: 5 Input: 1101 Output: 13 Input: 111001 Output:....

BNF-Notation im Compiler-Design

BNF steht für Backus-Naur-Form- Notation. Es ist eine formale Methode zur Beschreibung der Syntax einer Programmiersprache, die als Backus Naur Formas verstanden wird, die 1960 von John Bakus und Peter Naur eingeführt wurde. BNF und CFG (Context Free Grammar) waren nahezu identisch. BNF kann eine Metasprache (eine Sprache, die keine andere Sprache beschreiben kann) für Primärsprachen sein.  Für....

Schleifenoptimierung im Compiler-Design

Schleifenoptimierung ist der Prozess der Erhöhung der Ausführungsgeschwindigkeit und Reduzierung der mit Schleifen verbundenen Overheads. Es spielt eine wichtige Rolle bei der Verbesserung der Cache-Leistung und der effektiven Nutzung von Parallelverarbeitungsfunktionen. Die meiste Ausführungszeit eines wissenschaftlichen Programms wird für Schleifen aufgewendet. Loop Optimization ist eine maschinenunabhängige Optimierung. Das Verringern der Anzahl von Anweisungen in einer inneren Schleife verbessert die....