Ich bin kein spezialist auf dem Gebite, aber habe so meine Erfahrungen gesammelt.
Also wenn du alles per hand machst, würde ich erstmal mit einem Lexer anfangen, der dir alles in Tokens aufsplittet. Dazu noch methoden die für dich tokens aus der liste holen und vielleicht auch gleich dabei auf nen bestimmten typ testen(oder inhalt).
Dein parser nutzt dan den Lexer. Wie bereits erwähnt ist ein Handgeshcriebener Parser nicht soo schwer. Vorausgesetzt du nutzt soetwas wie einen Lexer. Ansonsten artet es in Spaghetti code aus.
Ich habe in der vergangenheit öfters nen parser geschrieben und mein aktueller höhepunkt ist der Compiler für die DCPU16(siehe spiel 0x10c) der mit meinem Assembler auch direkt auf den Bytecode runtergeht. Coomipliert wird eine Pascal ähnliche Hochsprache. Alles 100% handcrafted.
Alles was ich wissen musste steht hier drin:
Lets build a compiler
Ja es lässt viele der Theorie höllen des Cimpilerbaus außen vor, aber ich musste eh nur noch an infos fürs formelparsing rankommen. Der Lexer wird auch hier vorgesdchlagen(wobei er bei mir mit Classen etc arbeitet)
PS: Ich habe noch nie mit einem Compilergenerator gearbeitet, aber meinen Handgeschriebenen parser kann ich sehr leicht warten und erweitern.
MFG
Memnarch