Ahoj.

Maintainujem qtjambi/maven plugin a stojim pred rozhodnutim ci/a/alebo cim 
parsovat javovske zdrojaky. V principe mi ide o extrakciu textov k prekladu ( 
pokial niekto pouziva qt/qtjambi, ide mi o nahradu toolu "lupdate" ).

Priklad:

public class MainClass extends SomeObject {

        public void someMethod() {

                String s1 = tr("string1");
                String s2 = QApplication.translate("MyContext", "string2");
                String s3 = QCoreApplication.translate("MyContext", "string3", 
5);
                //String s4 = QApplication.translate("MyContext", "string4", 5);
                String s5 = QApplication.translate(
                        "MyContext",
                        "string5",
                        7);

                /*
                String s6 = tr("commented");
                */

        }

        class InnerClass {
                void anotherMethod() {
                        String s6 = tr("string6");
                }
        }

}


Z tohoto zdrojaku potrebujem vyextrahovat parameter pre tr() a prve dva 
parametre pre QApplication.translate() a QCoreApplication.translate().

Dalej v pripade tr() potrebujem vediet meno class-y ( MainClass ), pripadne aj 
rodicovskej classy (MainClass.InnerClass).

Samozrejme k tomu spravne handlovat zakomentovane casti kodu a viacriadkove 
statementy.

Vysledkom tohoto extraktu by bolo cosi podobne tomuto:

MainClass,string1
MyContext,string2
MyContext,string3
MyContext,string5
MainClass.InnerClass,string6


Mam niekolko moznosti:
- regexp ( primitivne, nezistim meno classy )
- nejaky vlastny tokenizer ( dlhsi cas vyvoja )
- zneuzit cosi existujuce ... ?


Ako by ste na to sli vy?

Dik

-- 
Dusan


... tykajte mi

Odpovedet emailem