[Python-de] Python als Makroersatz, und was zum Lachen

Detlef Lannert lannert at uni-duesseldorf.de
Don Jul 31 17:17:07 EDT 2003


Gerson Kurz <Gerson.Kurz at t-online.de> wrote:
> Gegeben einen C-Header, der aus Zeug wie dem folgenden besteht:
> 
> DECLARE_STRING(IDS_XYZ_STATUS_BUSY, "Busy")
> DECLARE_STRING(IDS_XYZ_STATUS_COVER_OPEN, "Cover open")
> DECLARE_STRING(IDS_XYZ_STATUS_DOOR_OPEN, "Door open")
> ....(usw, viele hundert Zeilen lang)...

Wenn die Zeilen wirklich so sauber gleichmäßig formatiert sind,
kannst Du das sicher mit einer Regex erschlagen, ungefähr
(ungetestet)

      r'DECLARE_STRING\((?P<name>\w+),\s*"(?P<value>(\w|\s)+)"\)'

Evtl. noch ein paar \s* einstreuen, um redundante Blanks wegzufangen.
Wenn aber alle (Un-)Schönheiten der C-Makrosyntax genutzt werden,
ist diese Methode nicht so toll.

  Detlef