Avatar billede Daniel.E Praktikant
13. december 2004 - 16:43 Der er 28 kommentarer og
1 løsning

if sætnings parsing

Hej

Jeg er ved at blive pink i hovedet af at, parse if sætninger.

if(i==1 && a=='c' || c==2) {

} else if((i==2 && a=='g') || c==3) {

} else if(i==3 && a=='k' || c==4) {

} else {

}

dette lille eks er hvordan det skal se ud.. jeg har selv lavet et par eksempler, som kan forstå dette.. men det er noget værre noget.. og det er ikke optimalt..


jeg leder efter en bedre løsning, og en bedre mulighed.

MEN !!!

Jeg spørger ikke efter nogle programmer som gør arbejdet for mig, eller noget i den stil.
Alt skal håndkodes, og skrives fra [a-Z]*.
Avatar billede rbj_fp Nybegynder
13. december 2004 - 16:48 #1
Hvad er det du gerne vil have lidt hjælp med?
Avatar billede arne_v Ekspert
13. december 2004 - 16:59 #2
Skal du have skrevet en parser som kan parse ovenstående ?

Hvis ja - hvilken parse generator bruger du = JavaCC ?
Avatar billede Daniel.E Praktikant
13. december 2004 - 17:00 #3
Jeg bruger ingen parser generator.
Avatar billede arne_v Ekspert
13. december 2004 - 17:00 #4
JavaCC vørvl - det her er jo C/C++ kategorien.

yacc / bison ?
Avatar billede Daniel.E Praktikant
13. december 2004 - 17:00 #5
rbj_fp >> Jeg forstå ikke helt hvordan man laver en ordenlig parser til ovenstående.  Altså jeg har noget som kan noget i samme form.  men det er ikke ordenligt, og ligner bæ.
Avatar billede Daniel.E Praktikant
13. december 2004 - 17:01 #6
Jeg bruger ikke Yacc / bison
Avatar billede arne_v Ekspert
13. december 2004 - 17:01 #7
Ingen parse generator ?

Uf - så bliver det nok noget grimt kode uanset hvad !
Avatar billede Daniel.E Praktikant
13. december 2004 - 17:01 #8
det er 100 % håndskreven.
Avatar billede Daniel.E Praktikant
13. december 2004 - 17:01 #9
det tænkte jeg nok.
Avatar billede Daniel.E Praktikant
13. december 2004 - 17:02 #10
skriver senere.. skal hjem fra arbejde nu...
Avatar billede rbj_fp Nybegynder
13. december 2004 - 17:03 #11
vb2> Hvis man kan slippe afsted med det plejer man altid at bruge en parser-generator det er lettere og pænere end hvis man selv skulle lave det.

Men der bør ikke være noget til hindre for at man selv kan skrive en "pæn" parser.
Avatar billede nuab Nybegynder
13. december 2004 - 21:34 #12
Hvis du vil skrive din egen parser er der et par ting du skal have gjort dig klart. Parser og scanner teori kan jo godt være lidt langhåret. - Vil du lave en top-down eller en bottom-up parser. - Skal du have gang i et symboltree osv. Og hvad skal du parse det til??? Hvilket nok var et godt spørgsmål!!!!! Men sæt dig ned og lav den DFA eller en NFA og så kode det, det er måden at gøre det på. Det er det generatorene gør i et par kæmpe store klasser!!!

PS: Arne V, parsergenerator kode er hvis heller ikke det pæneste.
Avatar billede arne_v Ekspert
13. december 2004 - 21:54 #13
de genererede .c filer ser gyselige ud

.y og .l input filerne synes jeg er ret pæne
Avatar billede Daniel.E Praktikant
14. december 2004 - 09:25 #14
Jeg har gang i et symboltree.... og jeg har også syntax med i spillet....

well... nolge som har noget man kan se på, eller et link, eller noget...  ??
Avatar billede rbj_fp Nybegynder
14. december 2004 - 09:30 #15
http://www.cs.vu.nl/~dick/PTAPG.html <- En god start omkring parsing
ftp://ftp.cs.vu.nl/pub/dick/PTAPG/BookBody.pdf <- Det direkte link til bogen
Avatar billede arne_v Ekspert
14. december 2004 - 09:57 #16
Der må være skrevet masser om parsning, compiler teknik, grammatikker, LALR etc..
Avatar billede Daniel.E Praktikant
14. december 2004 - 21:16 #17
arne_v >> jeg har skrevet noget kode, men ville du give at så på det.  Jeg vil sende det til din mail, ikke poste det.
Avatar billede arne_v Ekspert
14. december 2004 - 21:41 #18
Det vil jeg godt.

Men jeg er faktisk ikke specielt god til parse teknik.

Et af de områder hvor den kendsgerning at jeg ikke er datalog gør at jeg
mangler noget.

Jeg er ret skrap med bison og flex. Men teorien bag ved kender jeg ikke.
Avatar billede Daniel.E Praktikant
14. december 2004 - 21:44 #19
Hvad er din email ?
Avatar billede Daniel.E Praktikant
14. december 2004 - 21:44 #20
har du foresten visio ?
Avatar billede Daniel.E Praktikant
14. december 2004 - 21:47 #21
lige på forhånd... jeg har kun brugt ca 30 min på det.. da jeg var på arbejde... så der er visse mangler.. men det virker efter hensigten...
Avatar billede arne_v Ekspert
14. december 2004 - 21:51 #22
arne_v@mail.danbbs.dk

jeg har adgang til visio
Avatar billede Daniel.E Praktikant
14. december 2004 - 21:54 #23
jeg har sendt en mail
Avatar billede Daniel.E Praktikant
14. december 2004 - 22:11 #24
det er en fejl i flowchart.. men du kan nok se hvor det er...
Avatar billede Daniel.E Praktikant
14. december 2004 - 22:32 #25
Arne_v >> Du må sammen med rbj_fp gerne give et svar
Avatar billede arne_v Ekspert
14. december 2004 - 22:34 #26
ok
Avatar billede Daniel.E Praktikant
15. december 2004 - 20:24 #27
her kommer jeg
Avatar billede arne_v Ekspert
15. december 2004 - 20:25 #28
rbj_fp nåede ikke at ligge svar
Avatar billede rbj_fp Nybegynder
16. december 2004 - 07:51 #29
Øv... :-( Bare fordi man lige skulle ud og installere noget software en enkelt dag.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester