Avatar billede brian0905 Nybegynder
12. november 2003 - 20:07 Der er 15 kommentarer og
1 løsning

Hvordan laver jeg mit eget scriptsprog

Jeg har lige et hurtigt spørgsmål. Det vil sige at det er mere omfattende end som så. Jeg vil gerne lave mit eget scriptsprog til brug i eksempelvis en applikation der beregner og tegner. Hvordan kommer jeg igang? hvad skal jeg undersøge? hvor finder jeg eksempler? Der skal jo blandt andet laves en form for parser og måske en compiler, men hvor starter jeg? Det scriptsprog jeg vil bygge skal være til brug i en form for uddannelses situation (hvis nogle af jer har lavet turtle programmering så er det noget i den dur). Man har en turtle, den giver man et script (noget simplificeret kode) der angiver at hvis den rammer en mur skal den dreje til højre og efter 100 pixels skal den dreje til venstre. Nogle der har nogle gode ideer til at komme i gang med dette?
Avatar billede nmh Nybegynder
12. november 2003 - 20:23 #1
Du definerer først dit sprog. Her er syntaksgrafer nok den simpleste måde at gøre det på.
Så snart du har lavet syntaksgraferne er det ikke så vanskeligt at programmere paseren.
Jeg kan anbefale
Niklaus Wirth: Algorithms+Data Structures= Programs
Prentice HasllISBN 0-13-022418-9
(En ældre bog fra 1973, men den kan lånes på Danmarks Tekniske Bibliotek i Lundtofte (DTU))
Den kan måske stadig købes?
side 288 og fremefter.
Avatar billede arne_v Ekspert
12. november 2003 - 20:25 #2
Du skal afgøre om du vil lave en fortolker som fortolker script input
eller en compiler som oversætter til noget andet (kunne også være C#).

Formentlig er det en fortolker som passer bedst til din problem stilling.
Avatar billede arne_v Ekspert
12. november 2003 - 20:27 #3
Hvis du ike synes at det er sjovt at skrive en parser, så er der også
lavet parser generatorer til C#.

F.eks.
  http://www.nongnu.org/grammatica/
Avatar billede nmh Nybegynder
12. november 2003 - 20:33 #4
For at få det lidt nemt og komme i gang, vil jeg tro det letteste for dig er at få dit scriptsprog oversat til en række
kommandoer, der kan eksekveres i et færdigt system som f.eks. VB.net eller C#. Her er der jo en række færdige metoder til at tegne.
Avatar billede brian0905 Nybegynder
12. november 2003 - 20:37 #5
Jeg har brug for en jumpstart til at få defineret mine kommandoer og så derefter vide hvordan jeg får produceret noget der kan eksekveres. Hvordan checker jeg om det brugeren indtaster er validt? nogle online tutorials til dette?
Avatar billede arne_v Ekspert
12. november 2003 - 20:50 #6
Hvis du definerer en grammatik og genererer en parse så checker den
for valid syntax.
Avatar billede nmh Nybegynder
12. november 2003 - 20:51 #7
Avatar billede nmh Nybegynder
12. november 2003 - 20:56 #8
Avatar billede brian0905 Nybegynder
12. november 2003 - 21:11 #9
hmmmm... tror jeg har taget munden for fuld. Det er vist mere end hvad jeg magter :-(

Takker for hjælpen
Avatar billede arne_v Ekspert
12. november 2003 - 21:14 #10
Det kræver:
  - tid
  - vilje til at sætte sig ind i nogen ting
  - lidt grundliggende programmerings forståelse

Men jeg mener da at alle datalogi studerende bliver hereset gennem
det på første del af studiet, så det kan læres !
Avatar billede nmh Nybegynder
12. november 2003 - 21:15 #11
Jeg har desværre ikke fundet nogle helt simple tilgange til dit projekt. Bogen jeg omtalte først er nok den lettest tilgængelige.
En hekt anden måde at gribe det an på er at du laver en række simple procedurer f.eks. i Visual Basic, som man kan aktivere, når man vil tegne. Med en passende brugerflade, vil det måske også kunne være interessant.
Avatar billede brian0905 Nybegynder
12. november 2003 - 21:21 #12
hmm.... hvis jeg skal lære det bliver det vist efter en bog. Indtil jeg får taget mig sammen til at sætte mig dybere ind i en parsers mystik, tror jeg det bliver den nemme tilgang, men nogle få keywords, der bliver oversat til tegnekommandoer. Ingen tvivl om at jeg nok skal få det lært, den smule jeg har læst er helt sikkert noget der giver ideer og en kriblen i fingrene.
Avatar billede nielslbeck Nybegynder
17. november 2003 - 14:41 #13
arne_v>> (Næsten) alle datalogistuderende på Aarhus Universitet har kurset dOvs (Oversættelse) på 5. semester. I kurset opbygges en compiler i ML som compilerer Scheme-kode til bytekode, som derefter kan afvikles i en virtuel maskine som programmeres i C. Kurset er bestemt ikke trivielt, og det er nok også derfor jeg ikke har tid til at være så meget med her på Eksperten mere :-(
Avatar billede arne_v Ekspert
17. november 2003 - 16:59 #14
Jeg har heller ikke sagt at det er nemt.

Men det kan lade sig gøre at lære.
Avatar billede arne_v Ekspert
30. november 2003 - 23:23 #15
brian>

Lukke tid ?
Avatar billede brian0905 Nybegynder
01. december 2003 - 16:40 #16
sorry
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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