2012-04-10 15 views
1

Ich plane, Compiler für Requirement Specification Language zu bauen. Ich habe eine Idee mit JFlex als lexikalischen Analysator und CUP als Parser.Compiler Konstruktion für formale Anforderung Spezifikation Sprache mit JFlex und CUP

Kann mir jemand mitteilen, dass es möglich ist, JFlex und CUP für formale Spezifikationssprache zu verwenden? Die gesamte Dokumentation und die Tutorials beziehen sich nur auf die Programmiersprache.

Jedes Lernprogramm, das zum Erstellen von formalen Sprachcompilern verfügbar ist.

Antwort

1

Lexer und Parser-Generatoren sind nicht wichtig, wenn Ihre Sprache "konventionelle Computersprache" ist, nur dass Ihre Sprache eine Grammatikspezifikation hat, die sie verarbeiten können.

Oft ist die Art und Weise, wie Sie eine solche Grammatikspezifikation erhalten, eine Spezifikation für Ihr formales System als gegeben zu nehmen und entsprechend den Einschränkungen des von Ihnen gewählten Parsergenerators zu biegen. Dieser Biegeprozess ist bestenfalls unbequem, schlimmstenfalls sehr schwierig, je nachdem, wie groß die Lücke zwischen der Fähigkeit des Parser-Generators und dem, was Ihre formale Sprachspezifikation sagt, ist.

Ich schlage vor, Sie überprüfen Ihre "Requirement Specification Language" formale Grammatik und entscheiden, welche Parser-Generator Sie basierend darauf verwenden möchten, um die Menge an Biegung zu minimieren, die Sie tun müssen.

+0

Kannst du mich bitte zu ein paar besten Tutorials dafür leiten? Ich bin ein bisschen verwirrt. Das Tutorial des ganzen Zyklus für den Aufbau des Compilers wird sehr nützlich für mich sein. Ich möchte nur einen Hinweis, um anzufangen. – man19688

+0

Welchen Parser schlagen Sie für diese Art von Spezifikationssprache vor? Link von Tutorials wird sehr nützlich sein. Schätze deine Hilfe. – man19688

+1

Sie können versuchen: "Compiler Building Tutorial", www.stack.nl/~marcov/compiler.pdf, "Lassen Sie uns einen Compiler erstellen", compilers.iecc.com/cranshaw/. Ich habe keine Erfahrung damit. Sie sollten wirklich eine technische Ausbildung bekommen; Siehe Aho & Ullman Buch "Compiler: Prinzipien, Techniken und Tools." Erwarte nicht, dass dies einfach ist. –