Python - Lexikalische Analyse und Tokenisierung

Ich möchte meinen Entdeckungsprozess hier ein wenig beschleunigen, da dies mein erstes Unternehmen in der Welt der lexikalischen Analyse ist. Vielleicht ist das sogar der falsche Weg. Zuerst beschreibe ich mein Problem:

Ich habe sehr große Eigenschaftendateien (in der Größenordnung von 1.000 Eigenschaften), die, wenn sie destilliert werden, wirklich nur etwa 15 wichtige Eigenschaften sind und der Rest kann generiert oder selten geändert werden.

Also zum Beispiel:

general {
  name = myname
  ip = 127.0.0.1
}

component1 {
   key = value
   foo = bar
}

Dies ist die Art von Format, das ich erstellen möchte, um so etwas zu kennzeichnen:

property.${general.name}blah.home.directory = /blah
property.${general.name}.ip = ${general.ip}
property.${component1}.ip = ${general.ip}
property.${component1}.foo = ${component1.foo}

in

property.mynameblah.home.directory = /blah
property.myname.ip = 127.0.0.1
property.component1.ip = 127.0.0.1
property.component1.foo = bar

Lexikalische Analyse und Tokenisierung klingen nach meinem besten Weg, aber dies ist eine sehr einfache Form davon. Es ist eine einfache Grammatik, eine einfache Substitution und ich möchte sicherstellen, dass ich keinen Vorschlaghammer mitbringe, um einen Nagel einzuschlagen.

Ich könnte meinen eigenen Lexer und Tokenizer erstellen, oder ANTlr ist eine Möglichkeit, aber ich mag es nicht, das Rad neu zu erfinden, und ANTlr klingt nach Overkill.

Ich bin nicht mit Compilertechniken vertraut, daher wären Zeiger in die richtige Richtung und in den richtigen Code sehr willkommen.

Hinweis: Ich kann das Eingabeformat ändern.