Python - лексический анализ и токенизация

Я очень хочу ускорить процесс моего открытия здесь, так как это мое первое путешествие в мир лексического анализа. Может быть, это даже неправильный путь. Сначала я опишу мою проблему:

У меня есть очень большие файлы свойств (порядка 1000 свойств), которые, будучи дистиллированными, на самом деле представляют собой всего лишь 15 важных свойств, а остальные могут быть сгенерированы или редко когда-либо изменяться.

Так, например:

general {
  name = myname
  ip = 127.0.0.1
}

component1 {
   key = value
   foo = bar
}

Это тип формата, который я хочу создать, чтобы обозначить что-то вроде:

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

в

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

Лексический анализ и токенизация звучат как мой лучший маршрут, но это очень простая форма. Это простая грамматика, простая замена, и я хотел бы убедиться, что я не принесу кувалду, чтобы вбить гвоздь.

Я мог бы создать свой собственный лексер и токенизатор, или ANTlr - возможность, но я не люблю заново изобретать колесо, и ANTlr звучит как излишнее.

Я не знаком с методами компиляции, поэтому указатели в правильном направлении и код были бы наиболее ценными.

ЗаметкаЯ могу изменить формат ввода.

Ответы на вопрос(5)

Ваш ответ на вопрос