Toon posts:

Algemeen: Eigen Scripttaal maken, mogelijk?

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik wil een eigen scripttaal maken, dit hoeft niet een zeer uitgebrijd systeem te zijn, maar het moet wel wat mogelijkheden hebben.

Waarom een Eigen Scripttaal?
Ik wil een programmatje maken dat veel functies heeft, dit programmatje moet echter VOLLEDIG configureerbaar zijn, de enige goeie oplossing lijkt mij dan om een Eigen Scripttaal te maken.

Wat is de bedoeling van het programmatje en wat moet het doen?
De uiteinderlijke bedoeling kan ik niet vermelden omdat het programmatje dan niet origineel meer is ;)
Het heeft iets met casemodding te maken, met geheel bestuurbare I/O systeem(voor de kenners, iets als X-bus, alleen dan anders).

Er zitten ongeveer 4 ingangen op en 4 uitgangen via de parralelle poort, ik wil deze zo kunnen aansturen zoals dat de gebruiker dat wil.
Hiervoor wil ik een zeer simpel scriptje kunnen maken.

Hoe uitgebrijd moet het script worden?
Nou eigenlijk hoeft het maar een klein beetje te doen. Ongeveer zoiets wil ik het Script er uit laten zien:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
do
on KeyPress {
  Menu = CreateMenu("a","b","c","d","e","f","g","h","i")
  Show Menu
  on MenuOption(1) {
    ..
  } elseon MenuOption(2) {
    ..
  } else {
    ..
  }
} else {

}
loop


Zoiets moet het voorstellen. Ik heb 4 toetsen aan de paralelle poort hangen, dit moet een menutje kunnen bedienen. Hierin moet je b.v. in kunnen scrollen als het meer dan X regels zijn, dan moet je weer dat menu in kunnne gaan, etc.

Ook moet ik er nog wat andere opties in laten zien, deze functies maken(voor waardes te laten zien) zal niet zoon probleem voorstellen, maar vooral het inlees en volgsysteem zodat je in b.v. een loop blijft of met de ifjes.

Hoe kan je zoiets maken en het beste realiseren?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Google gaf me dit:

http://www.gamedev.net/re...ming/features/cppscript1/

En dan hebben we nog FESI:

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

Is miischien makkelijk om een kant en klare engine erin te verwerken dan zelf iets te maken :)

[ Voor 24% gewijzigd door Bosmonster op 19-05-2003 14:21 ]


Verwijderd

Topicstarter
Bosmonster schreef op 19 May 2003 @ 14:21:
[knip]
Is miischien makkelijk om een kant en klare engine erin te verwerken dan zelf iets te maken :)
Ja dat zou natuurlijk ook kunnen, maar hoegroot zijn deze engines? Niet dat ik een tegroot script krijg door het grote aantal nutteloze functies.

Ik heb nou ervaring met het programeren met VB, QuickBasic, PHP, HTML, JavaScript. Maar ik wil het uiteinderlijke programmatje maken in delphie, maar dat moet ik dan nog wel leren(is niet moeilijk gezien ik het systeem van programeren ken).

  • MicroWhale
  • Registratie: Februari 2000
  • Laatst online: 18-06 12:42

MicroWhale

The problem is choice

Het eerste dat me te binnen schiet zijn de lessen "Scannen & Parsen", "Eindige Machines" en "Discrete wiskunde". Het is sterk aan te raden hierover wat te gaan lezen.

Het enige belangrijke is dat je vandaag altijd rijker bent dan gisteren. Als dat niet in centen is, dan wel in ervaring.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:19

Creepy

Tactical Espionage Splatterer

En waarom niet een bestaande script taal gebruiken? VBScript is bijv. ook te embedden, en ik had ergens nog een URL liggen met een scripttaal, die makkelijk te embedden is in je eigen applicatie en die werkt onder windows, linux en nog een aantal OS'en.. maar dat heb ik thuis.. zal ik vanavond ff opzoeken..
http://www.lua.org/ dus. (Thanx Yarv).

[ Voor 15% gewijzigd door Creepy op 19-05-2003 14:50 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Schrijf idd gewoon een com componentje om die Xbus aan te sturen en script het boeltje in vbscript of jscript.

Verwijderd

Je kan VBScript super makkelijk in je applicatie integreren! MS heeft daar een heel handig componentje voor gemaakt :).
Misschien ook de moeite waard om eens te bekijken.

Verwijderd

Topicstarter
Verwijderd schreef op 19 mei 2003 @ 14:50:
Schrijf idd gewoon een com componentje om die Xbus aan te sturen en script het boeltje in vbscript of jscript.
het is niet voor de Xbus, maar iets wat ook met in/output werkt, voor de casemodders :P
Een eigen idee, wat ook wel mooi gaat werken.

Ik heb net de specs van de para poort nagekeken, voldoende in/uitgangen voor wat ik wil doen, dus dat gaat ook wel goed. Nou nog een scripttaal die kan samenwerken met mijn programma. Zodat de user zelf kan kiezen hoe het moet werken.

Dan moet ik ook nog zelf een parapoort driver maken voor 2000 en XP, of moet DLPortIO zo maken dat het mee installeerd met mijn programma.

Ik ben niet vanplan om de Xbus na te maken ofzo, maar dit systeem heeft toch ook wel mooie dingen :)

KoenM -> URL! :)

Verwijderd

't microsoft script control heet dat, url weet ik niet uit m'n hoofd. maar of je nu de io aanstuurt vanuit vb script of dat je vbscript embed in je io applicatie is inprinciepe om het even lijkt me.

Als je geen zin hebt om dlportio met al z'n nukken te gebruiken kijk dan es naar winio 1 dll en'n sys filetje wat je gewoon bij je app mag/kan doen.

[ Voor 82% gewijzigd door Verwijderd op 19-05-2003 15:15 ]


  • killermar
  • Registratie: Augustus 2002
  • Laatst online: 12-07 08:05
Microsoft Scripting Engine met Delphi:
http://www.madrigal.com.au/papers/scripting/scripting2.htm

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Zoals al gezegd hier: het is een hels werk om je eigen script taal op te zetten.
Je zult dan verstand moeten hebben van lexers, parsers, grammatica's, AST's, syntaxtische en semtantische checks en vertalingen naar objectcode(meestal C).
Ik voorspel je dat je daar toch nog wel heeeeeel even mee bezig bent ;)
Heb je d'r wel zin in? Kijk dan eens naar Appel of het 'Dragon' book :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

vertalingen naar objectcode(meestal C).
Zo jij wil meteen wel heel hard bikkelen... scripttalen draaien over het algemeen interpreted, en dat voldoet echt wel voor zijn doel :)

Maar idd het blijft een rotwerk waar je alleen aan moet beginnen als het echt hard nodig is en je er voldoende kennis voor aan boord hebt.

Professionele website nodig?


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
curry684 schreef op 19 May 2003 @ 16:49:
Zo jij wil meteen wel heel hard bikkelen... scripttalen draaien over het algemeen interpreted, en dat voldoet echt wel voor zijn doel :)
Altijd natuurlijk 8) Als het kan ook nog ff JITten in een VM ;)
Nah, sorry, was bij het reply'en even vergeten dat het om een scripttaal ging ;)

  • esf
  • Registratie: Juni 2002
  • Laatst online: 11-03 14:06

esf

curry684 schreef op 19 mei 2003 @ 16:49:
[...]
Maar idd het blijft een rotwerk waar je alleen aan moet beginnen als het echt hard nodig is en je er voldoende kennis voor aan boord hebt.
Je zou natuurlijk gebruik kunnen maken van een compilergenerator, die een hele hoop werk uit handen neemt, maar of die ook compilers voor delphi kunnen maken... :?

The hardest thing in the world to understand is the income tax. - Albert Einstein


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

http://www.lischke-online.de/DCG.php voor een Delph compiler generator.

Er zijn trouwens ook wat bekendere scriptingtalen voor Delphi die geschikt zijn om te embedden. In mijn testten viel de snelheid echter bijna altijd nogal tegen:


http://www.dwscript.com/
http://www.dreamcompany.com/scripter.html
http://www.astromark.com/passcript.html
http://www.carlo-kok.com/ifps3.php

Je zou ook de JS engine van Mozilla eens kunnen bekijken - http://www.mozilla.org/js/

Verwijderd

Een beetje laat, en het is eigenlijk al gezegd door Yarvieh, maar hier nog een handig linkje http://www.planet-source-...?txtCodeId=43715&lngWId=1 . Hopelijk kan je er iets mee.

  • narotic
  • Registratie: Maart 2002
  • Laatst online: 02-11-2021
Op school hebben wij wel een taaltje gemaakt met Haskell. Haskell is een functionele programmeertaal, zal wel wennen zijn (aangezien je voornamelijk OO en imperatief in je lijstje noemt). Met deze taal zou je dus zeker een eigen taaltje kunnen maken.

Dingen die volgens mij wel handig kunnen zijn om even te bestuderen:

Regular Expressions
Syntax Tree
Lambda Calcullus

Misschien zou je op zoek kunnen gaan naar wat boeken van David A. Watt van de Universiteit van Glasgow.

Voor info over Haskell zie http://www.haskell.org

- = Step Into The Pit | Industrial Strength = -


Verwijderd

Voor Delphi zou ik je DelphiWebScript aanbevelen (http://www.dwscript.com/). Ze leggen op de site heel erg de nadruk op webgebruik, maar je kunt het ook prima toepassen als interne script engine (dat is het namelijk van oorsprong). Ik weet niet hoeveel het toevoegt aan je exe, maar erg veel is het niet. DWScript is eenvoudig te gebruiken, uitermate makkelijk uit te breiden met je eigen functies en heeft een Pascal-achtige (dus eenvoudige) syntax.

Ik denk dat alle andere oplossingen, inclusief je eigen interpreter maken of e.o.a. MS-based oplossing, veel meer moeite zouden kosten.

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 08-08 02:24

Sprite_tm

Semi-Chinees

Voor iedereen die zelf compilers of interpreters willen schrijven: Ik kan jullie een (vrij groot) tekstbestand van ene mijnheer Crenshaw aanbevelen. Tis makkelijker te doorgronden dan de meeste literatuur en uiteindelijk kan je toch zelf een lekkere compiler of interpreter inmekaar miepen. Hier staat 'ie bijvoorbeeld.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Verwijderd

Topicstarter
Oké ziet er allemaal goed uit. Bedankt.

Zou ik het progje niet ook ik VB kunnen maken? Ik weet niet echt iets over de snelheid van VB en van Delphi. Wat is aan te raden om te gebruiken voor een mooi/stabiel progje?

Als het met VB zou kunnen (gezien snelheid) zou ik erg blij zijn. Dat scheelt mij namelijk eerst alle functies van Delphi leren.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:19

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 20 May 2003 @ 08:58:
Oké ziet er allemaal goed uit. Bedankt.

Zou ik het progje niet ook ik VB kunnen maken? Ik weet niet echt iets over de snelheid van VB en van Delphi. Wat is aan te raden om te gebruiken voor een mooi/stabiel progje?

Als het met VB zou kunnen (gezien snelheid) zou ik erg blij zijn. Dat scheelt mij namelijk eerst alle functies van Delphi leren.
Tuurlijk kan je het ook in VB maken.. zo langzaam is VB nou ook weer niet hoor ;)
Ennuh.. Delphi... boeiend....killermar kwam daar geloof ik mee aanzetten, en anderen gaven ook meteen weer Delphi links... het boeit niet welke taal je ervoor gebruikt. Pak de taal die jij het beste kent, en waarin jij wilt werken :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • killermar
  • Registratie: Augustus 2002
  • Laatst online: 12-07 08:05
Als Delphi-fan zal ik Delphi uiteraard promoten, maar ik kwam met de link omdat KingOfDos melde dattie het uiteindelijk in Delphi wilde doen (wat heel toevallig erg verstandig is ;-) )

Verwijderd

Verwijderd schreef op 20 May 2003 @ 08:58:
Oké ziet er allemaal goed uit. Bedankt.

Zou ik het progje niet ook ik VB kunnen maken? Ik weet niet echt iets over de snelheid van VB en van Delphi. Wat is aan te raden om te gebruiken voor een mooi/stabiel progje?

Als het met VB zou kunnen (gezien snelheid) zou ik erg blij zijn. Dat scheelt mij namelijk eerst alle functies van Delphi leren.
Of de snelheid voldoende is voor jou, weet ik niet. Volgens mij is VB in principe trager dan Delphi, maar voor de meeste applicaties zal de gebruiker het verschil niet merken en het is wellicht zelfs niet eenvoudig meetbaar. Dus tenzij je uitgebreide berekeningen maakt, hoef je je daar geen zorgen over te maken. Stabiliteit is denk ik voor een zeer belangrijk deel afhankelijk van jouw code, niet van Delphi/VB als zodanig.

Ik ben overigens ook een voorstander van Delphi en heb een hekel aan de enorme downloads die VB programma's vereisen. In feite download ik een VB-applicatie niet als er ook maar enig ander alternatief is, en dat is er in zo goed als alle gevallen wel :).

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

ik noem een Orbb :Y)
(zie sig)
Glimi schreef op 19 May 2003 @ 15:57:
Zoals al gezegd hier: het is een hels werk om je eigen script taal op te zetten.
Je zult dan verstand moeten hebben van lexers, parsers, grammatica's, AST's, syntaxtische en semtantische checks en vertalingen naar objectcode(meestal C).
Ik voorspel je dat je daar toch nog wel heeeeeel even mee bezig bent ;)
Heb je d'r wel zin in? Kijk dan eens naar Appel of het 'Dragon' book :)
valt best mee, en zeker objectcode is onzin. Op dit moment heeft Orbb ook nog geen code emitter. De AST wordt eerst semantisch gechecked en worden de nodige datamembers gevuld, en daarna wordt de AST direct geinterpreteerd. Zeker met een taaltje als wat de topicstarter wilt lijkt het emitten van code nogal overkill

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Ik heb de rest van het topic nog niet gelezen maar hier nog een leuke HOWTO:

http://www.flipcode.com/tutorials/tut_scr01.shtml (9 delen)

[ Voor 4% gewijzigd door Verwijderd op 20-05-2003 22:53 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

daar heb ik ook mijn eerste flex en bison info uitgehaald ja. Het artikel heeft alleen geen linkjes naar de vorige en volgende pagina, dus je moet met de hand dat nummertje van de url aanpassen :Y)
(of terug gaan naar de tutorial index, ze staan ergens onderaan)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

.oisyn schreef op 20 May 2003 @ 22:58:
daar heb ik ook mijn eerste flex en bison info uitgehaald ja. Het artikel heeft alleen geen linkjes naar de vorige en volgende pagina, dus je moet met de hand dat nummertje van de url aanpassen :Y)
(of terug gaan naar de tutorial index, ze staan ergens onderaan)
Jah dat is idd wel lastig van flipcode... naja je kunt niet alles hebben he :)

Ik heb trouwns ook een keer een poging gedaan maar ben er maar mee gestopt omdat het te veel tijd kost... wil af en toe ook de zon zien.

[ Voor 14% gewijzigd door Verwijderd op 20-05-2003 23:04 ]

Pagina: 1