Read more
Kleine Helfer mit großer Wirkung!
Die Analysetools lex und yacc erleichtern dem Programmierer die tägliche Arbeit. Während yacc für die lexikalische Analyse (die Zerlegung eines Textes) nach bestimmten Regeln zuständig ist, dient yacc (yacc steht für yet another compiler compiler ) der Strukturbeschreibung eines Programms. yacc überprüft Programme auf syntaktische Unstimmigkeiten und behebt diese.
Beginnend mit einer kurzen Einführung in die Compiler-Phasen geht der Autor ausführlich auf die Arbeitsweise und die Zusammenarbeit von lex und yacc ein. Anhand eines einfachen Taschenrechners zeigt er die Vorzüge von lex und yacc gegenüber einer reinen C-Implementierung. Umfangreichere Anwendungsbeispiele wie z.B. die Realisierung eines Assemblers, die Komplexitätsananalyse von Shellskripten oder ein Taschnerechner mit Intervallarithmetik verdeutlichen die Mächtigkeit der Tools und vertiefen das vermittelte Wissen.
Aus dem Inhalt:
Die lex-Regeln
Arbeitsweise von lex
Zusammenspiel von lex und yacc
Anwendungsbeispiele
Aufbau eines yacc-Programms
Konflikte nd Mehrdeutigkeiten
Debugging
Sonstige yacc-Konstrukte Der Autor:
Nach mehrjähriger Tätigkeit an der Siemens-Technik-Akademie und bei der SuSE Linux GmbH unterrichtet Prof. Dr. Herold zur Zeit an der FH Nürnberg "Software-Engineering". Bei Addison-Wesley hat er zahlreiche erfolgreiche Bücher zu den Themen Linux und Unix veröffentlicht.
About the author
Prof. Dr. Helmut Herold studierte Informatik an der Friedrich-Alexander Universität Erlangen-Nürnberg.Nach einer 3-jährigen Entwickler-Tätigkeit bei Intel in den USA (Oregon), kehrte er zurück nach Deutschland und war als Fachgruppenleiter an der Siemens-Technik-Akademie tätig. Während dieser Zeit promovierte er inseiner Freizeit an der Friedrich-Alexander Universität Erlangen-Nürnberg. Er wechselte im Jahr 2000 zur SuSE Linux GmbH, bevor er 2002 eine Professur an der Georg-Simon-Ohm Fachhochschule Nürnberg annahm, wo er heute 'Software-Engineering' unterrichtet.
Report
"Dieses Buch von Helmut Herold [...]bietet viele didaktisch sinnvolle Beispiele, die wie man gewisse Probleme mit den Tools lösen kann bzw. zeigt, wie viel mehr Arbeit es ohne die Tools wäre. Dabei wird auch für Anfänger verständlich auf die kleinen Unterschiede eingegangen. [...]Eine gute Einführung in lex und yacc mit vielen brauchbaren Beispielen. Die Hauptzielgruppe dürften Informatik-Studenten und C/C++-Programmierer sein, aber auch Java-Programmierer können einiges daraus lernen und sollten sich Java CC [1]anschauen." (Armin Röhrl, Linux Enterprise 1/2 2004)