/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Programmering af eget script sprog.
Fra : Martin Mouritzen


Dato : 15-11-01 13:01

Da jeg har nogle templates i en Java applikation, som indtil videre
kun understøtter simpel replace af nogle variabler, og behovet nu er
vokset lidt så der også kan komme en vis logik ind i dem, tænker jeg
nu på at lave mit eget lille script sprog.

Det skulle gerne være noget man kunne kalde direkte fra Java som
f.eks.

String parsedCode = Parser.parse(someCode);

Det leder mig til et par spørgsmål,

1) Er der nogle der allerede har lavet dette?

2) Hvad er den smarteste måde at parse sådan et "sprog" på?
Jeg har ikke besluttet mig for en syntax endnu, men det skulle gerne
være noget der samtidig med at det var lidt "pænt" også var
forholdsvist nemt at parse.

Jeg er nået så langt så jeg sagtens kan parse udtryk som f.eks.
"1 + 1" eller "enMetode(etParameter)"
men hvis jeg pludselig kommer ind i noget ala.
"if (enMetode()) {
kode();
}
else {
kode();
}"
osv. (altså mere avanceret) tror jeg nok at jeg er lidt på bar bund.

Hvis nogle har artikler eller lignende modtages de med kyshånd.

FUT: dk.edb.programmering
--
Martin Mouritzen.
The truth is out there! Does anyone know the URL?

 
 
Kasper Nielsen (15-11-2001)
Kommentar
Fra : Kasper Nielsen


Dato : 15-11-01 21:11


"Martin Mouritzen" <martin@fez.dk> wrote in message
news:9t0ann$1kds$1@news.cybercity.dk...
> Da jeg har nogle templates i en Java applikation, som indtil videre
> kun understøtter simpel replace af nogle variabler, og behovet nu er
> vokset lidt så der også kan komme en vis logik ind i dem, tænker jeg
> nu på at lave mit eget lille script sprog.

Nu er jeg ikke lige klar over hvad du skal bruge det til, men prøv evt, at
kigge på
velocity: http://jakarta.apache.org/velocity/

Hvis det ikke lige kan bruges, vil jeg anbefale et kompiler kursus.
Det er ikke lige nogen simple sag at lave sit eget sprog.

- Kasper





Martin Mouritzen (15-11-2001)
Kommentar
Fra : Martin Mouritzen


Dato : 15-11-01 22:21

After I finished the 3 Pan Galactic Gargle Blasters, "Kasper Nielsen"
<knielsenNOSPAM@apache.org> just offered me, he muttered some weird
stuff, and I had to correct this gibberish:

>Nu er jeg ikke lige klar over hvad du skal bruge det til, men prøv evt, at
>kigge på
>velocity: http://jakarta.apache.org/velocity/

Tak, jeg havde egentlig hørt om Velocity, men troede egentlig kun det
kunne bruges sammen med JSP. Nu prøver jeg mig lidt frem med
JavaScript tingen jeg har fundet, men Velocity ser bestemt interessant
ud.

Tak
--
Martin Mouritzen.
The truth is out there! Does anyone know the URL?

Soeren Dalby (15-11-2001)
Kommentar
Fra : Soeren Dalby


Dato : 15-11-01 22:54

Hej Martin,

Ja det er lavet:

Se

http://home.worldcom.ch/~jmlugrin/fesi/

for en gratis fortolker, der kan embeddes i java-applikationer og som har
ECMA Script (javascript) som sprog.

Skulle du alligevel have lyst til at kaste dig i lag med din egen
fortolker, er der et værktøj, der hedder JavaCC:

http://www.webgain.com/products/java_cc/

En god intro til javacc

http://www.soi.city.ac.uk/~daveb/teaching/P213/jjtree.html

Der findes også et værktøj, der hedder ANTLR men det kender jeg ikke i
detaljer.

Lidt om java-fortolkere i almindelighed:

http://www.javaworld.com/jw-05-1997/jw-05-indepth.html
http://www.javaworld.com/jw-06-1997/jw-06-indepth.html
http://www.javaworld.com/jw-07-1997/jw-07-indepth.html

http://www.javaworld.com/javaworld/jw-01-1997/jw-01-indepth.html

http://www.meurrens.org/ip-Links/java/parser/


--
Best regards

Soeren Dalby
www.dalbydata.dk

"Martin Mouritzen" <martin@fez.dk> wrote in message
news:9t0ann$1kds$1@news.cybercity.dk...
> Da jeg har nogle templates i en Java applikation, som indtil videre
> kun understøtter simpel replace af nogle variabler, og behovet nu er
> vokset lidt så der også kan komme en vis logik ind i dem, tænker jeg
> nu på at lave mit eget lille script sprog.
>
> Det skulle gerne være noget man kunne kalde direkte fra Java som
> f.eks.
>
> String parsedCode = Parser.parse(someCode);
>
> Det leder mig til et par spørgsmål,
>
> 1) Er der nogle der allerede har lavet dette?
>
> 2) Hvad er den smarteste måde at parse sådan et "sprog" på?
> Jeg har ikke besluttet mig for en syntax endnu, men det skulle gerne
> være noget der samtidig med at det var lidt "pænt" også var
> forholdsvist nemt at parse.
>
> Jeg er nået så langt så jeg sagtens kan parse udtryk som f.eks.
> "1 + 1" eller "enMetode(etParameter)"
> men hvis jeg pludselig kommer ind i noget ala.
> "if (enMetode()) {
> kode();
> }
> else {
> kode();
> }"
> osv. (altså mere avanceret) tror jeg nok at jeg er lidt på bar bund.
>
> Hvis nogle har artikler eller lignende modtages de med kyshånd.
>
> FUT: dk.edb.programmering
> --
> Martin Mouritzen.
> The truth is out there! Does anyone know the URL?



Soeren Dalby (15-11-2001)
Kommentar
Fra : Soeren Dalby


Dato : 15-11-01 22:56


"Martin Mouritzen" <martin@fez.dk> wrote in message
news:9t0ann$1kds$1@news.cybercity.dk...
> Da jeg har nogle templates i en Java applikation, som indtil videre
> kun understøtter simpel replace af nogle variabler, og behovet nu er
> vokset lidt så der også kan komme en vis logik ind i dem, tænker jeg
> nu på at lave mit eget lille script sprog.
>
> Det skulle gerne være noget man kunne kalde direkte fra Java som
> f.eks.
>
> String parsedCode = Parser.parse(someCode);
>
> Det leder mig til et par spørgsmål,
>
> 1) Er der nogle der allerede har lavet dette?
>
> 2) Hvad er den smarteste måde at parse sådan et "sprog" på?
> Jeg har ikke besluttet mig for en syntax endnu, men det skulle gerne
> være noget der samtidig med at det var lidt "pænt" også var
> forholdsvist nemt at parse.
>
> Jeg er nået så langt så jeg sagtens kan parse udtryk som f.eks.
> "1 + 1" eller "enMetode(etParameter)"
> men hvis jeg pludselig kommer ind i noget ala.
> "if (enMetode()) {
> kode();
> }
> else {
> kode();
> }"
> osv. (altså mere avanceret) tror jeg nok at jeg er lidt på bar bund.
>
> Hvis nogle har artikler eller lignende modtages de med kyshånd.
>
> FUT: dk.edb.programmering
> --
> Martin Mouritzen.
> The truth is out there! Does anyone know the URL?



Soeren Dalby (15-11-2001)
Kommentar
Fra : Soeren Dalby


Dato : 15-11-01 22:59

Hej Martin,

Ja det er lavet:

Se

http://home.worldcom.ch/~jmlugrin/fesi/

for en gratis fortolker, der kan embeddes i java-applikationer og som har
ECMA Script (javascript) som sprog.

Skulle du alligevel have lyst til at kaste dig i lag med din egen
fortolker, er der et værktøj, der hedder JavaCC:

http://www.webgain.com/products/java_cc/

En god intro til javacc

http://www.soi.city.ac.uk/~daveb/teaching/P213/jjtree.html

Der findes også et værktøj, der hedder ANTLR men det kender jeg ikke i
detaljer.

Lidt om java-fortolkere i almindelighed:

http://www.javaworld.com/jw-05-1997/jw-05-indepth.html
http://www.javaworld.com/jw-06-1997/jw-06-indepth.html
http://www.javaworld.com/jw-07-1997/jw-07-indepth.html

http://www.javaworld.com/javaworld/jw-01-1997/jw-01-indepth.html

http://www.meurrens.org/ip-Links/java/parser/


--
Best regards

Soeren Dalby
www.dalbydata.dk


"Martin Mouritzen" <martin@fez.dk> wrote in message
news:9t0ann$1kds$1@news.cybercity.dk...
> Da jeg har nogle templates i en Java applikation, som indtil videre
> kun understøtter simpel replace af nogle variabler, og behovet nu er
> vokset lidt så der også kan komme en vis logik ind i dem, tænker jeg
> nu på at lave mit eget lille script sprog.
>
> Det skulle gerne være noget man kunne kalde direkte fra Java som
> f.eks.
>
> String parsedCode = Parser.parse(someCode);
>
> Det leder mig til et par spørgsmål,
>
> 1) Er der nogle der allerede har lavet dette?
>
> 2) Hvad er den smarteste måde at parse sådan et "sprog" på?
> Jeg har ikke besluttet mig for en syntax endnu, men det skulle gerne
> være noget der samtidig med at det var lidt "pænt" også var
> forholdsvist nemt at parse.
>
> Jeg er nået så langt så jeg sagtens kan parse udtryk som f.eks.
> "1 + 1" eller "enMetode(etParameter)"
> men hvis jeg pludselig kommer ind i noget ala.
> "if (enMetode()) {
> kode();
> }
> else {
> kode();
> }"
> osv. (altså mere avanceret) tror jeg nok at jeg er lidt på bar bund.
>
> Hvis nogle har artikler eller lignende modtages de med kyshånd.
>
> FUT: dk.edb.programmering
> --
> Martin Mouritzen.
> The truth is out there! Does anyone know the URL?



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste