Thread View: be.comp.programming
7 messages
7 total messages
Started by Red Head
Sun, 13 Oct 2002 14:58
wiskunde interpreter in vb
Author: Red Head
Date: Sun, 13 Oct 2002 14:58
Date: Sun, 13 Oct 2002 14:58
7 lines
1218 bytes
1218 bytes
Weet iemand waar ik een interpreter , solver kan vinden om wiskundige dingen op te lossen (liefst in vb) Zelf ben ik aan een interpreter begonnen maar dit is echt freaky moeilijk. Als iemand de broncode heeft van een interpreter, dan kan ik die gebruiken in een grafiekprogramma users.skynet.be/megaproductions
Re: wiskunde interpreter in vb
Author: Dominique Devriese
Date: Sun, 13 Oct 2002 15:08
Date: Sun, 13 Oct 2002 15:08
16 lines
1741 bytes
1741 bytes
Red Head writes: > Weet iemand waar ik een interpreter , solver kan vinden om > wiskundige dingen op te lossen (liefst in vb) Zelf ben ik aan een > interpreter begonnen maar dit is echt freaky moeilijk. Als iemand > de broncode heeft van een interpreter, dan kan ik die gebruiken in > een grafiekprogramma misschien kan je "wiskundige dingen" iets meer specifiek omschrijven ? Er zijn namelijk nogal veel dingen wiskundig... sjuus domi -- Expect a letter from a friend who will ask a favor of you.
Re: wiskunde interpreter in vb
Author: Ludo Joris
Date: Sun, 13 Oct 2002 16:51
Date: Sun, 13 Oct 2002 16:51
19 lines
1600 bytes
1600 bytes
1. Zoek met Google naar: evaluate numeric expressions 2. Dit is de oudste vb ref die ik kan vinden: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q86688 3. Lees een boek over compilerbouw, compilers doen dit voortdurend. HTH On Sun, 13 Oct 2002 16:58:55 +0200, "Red Head" <re_dhead@hotmail.com> wrote: >Weet iemand waar ik een interpreter , solver kan vinden om wiskundige dingen >op te lossen (liefst in vb) >Zelf ben ik aan een interpreter begonnen maar dit is echt freaky moeilijk. >Als iemand de broncode heeft van een interpreter, dan kan ik die >gebruiken in een grafiekprogramma > >users.skynet.be/megaproductions >
Re: wiskunde interpreter in vb
Author: Jack D
Date: Mon, 14 Oct 2002 10:19
Date: Mon, 14 Oct 2002 10:19
14 lines
1662 bytes
1662 bytes
Red Head wrote on 13-10-2002 16:58: > Weet iemand waar ik een interpreter , solver kan vinden om wiskundige dingen > op te lossen (liefst in vb) > Zelf ben ik aan een interpreter begonnen maar dit is echt freaky moeilijk. > Als iemand de broncode heeft van een interpreter, dan kan ik die > gebruiken in een grafiekprogramma > > users.skynet.be/megaproductions Als je toegang hebt tot een UNIX systeem, kan je Yacc en Lex gebruiken om op basis van je taaldefinitie een parser/compiler/interpreter te genereren. Dit is wel C-code, maar kan al een goeie leidraad zijn om de VB-versie te implementeren... Anders kan je hem ook steeds in een DLL smijten natuurlijk.
Re: wiskunde interpreter in vb
Author: Dominique Devriese
Date: Mon, 14 Oct 2002 16:56
Date: Mon, 14 Oct 2002 16:56
26 lines
2211 bytes
2211 bytes
Jack D writes: > Red Head wrote on 13-10-2002 16:58: >> Weet iemand waar ik een interpreter , solver kan vinden om >> wiskundige dingen op te lossen (liefst in vb) Zelf ben ik aan een >> interpreter begonnen maar dit is echt freaky moeilijk. Als iemand >> de broncode heeft van een interpreter, dan kan ik die gebruiken in >> een grafiekprogramma >> >> users.skynet.be/megaproductions > Als je toegang hebt tot een UNIX systeem, kan je Yacc en Lex > gebruiken om op basis van je taaldefinitie een > parser/compiler/interpreter te genereren. Dit is wel C-code, maar > kan al een goeie leidraad zijn om de VB-versie te > implementeren... Anders kan je hem ook steeds in een DLL smijten > natuurlijk. de info-pagina's van yacc en lex zijn vrij goed, mocht je een goede uitleg erover zoeken... sjuus domi -- question = ( to ) ? be : ! be; -- Wm. Shakespeare
Re: wiskunde interpreter in vb
Author: Rudi Breedenraedt
Date: Fri, 18 Oct 2002 12:12
Date: Fri, 18 Oct 2002 12:12
56 lines
2755 bytes
2755 bytes
Je kan ook gebruik maken van de Microsoft Script Control. Het voordeel is
dat het heel makkelijk te implementeren is (je moet eigenlijk niks meer
doen, alleen de control gebruiken) en veel krachtiger dan alleen een
"wiskundige interpreter" (je kunt er echt programma's mee laten uitvoeren,
objecten aan doorgeven, etc...).
Ga voor een eenvoudig voorbeeldje als volgt tewerk:
1. Maak een nieuw VB6 programma, op het formulier voeg je een textbox
(Text1) en een command button (Command1) toe.
2. In de VB IDE kies je het Project menu, de References optie en kruis je de
"Microsoft Script Control 1.0" aan (staat ie er niet tussen, kies dan Browse
en zoek naar een bestand msscript.ocx in je System32 folder).
3. Schrijf volgende code:
Private Sub Command1_Click()
Dim engine As New MSScriptControl.ScriptControl
On Error GoTo ErrorHandler
engine.Language = "VBScript"
engine.ExecuteStatement "a = 5"
engine.ExecuteStatement "b = 7"
engine.ExecuteStatement "c = 12"
MsgBox engine.Eval(Text1.Text)
Finally:
Exit Sub
ErrorHandler:
MsgBox "Error in expression : " & engine.Error.Description &
vbNewLine & _
"> " & engine.Error.Text, vbCritical
Resume Finally
End Sub
Klaar !!!
Je kunt het programma nu testen door in het tekstveldje bv. het volgende op
te nemen:
a + b
geeft 12 terug
a + b = c
geeft True terug
sin(a + b) * cos(c)
geeft -0.45... terug
2 * a + b
geeft 17 terug
2 * (a + b)
geeft 24 terug
�(�!�
geeft een foutmelding "Invalid character"
...
Succes
Rudi
Re: wiskunde interpreter in vb
Author: Peter S'heeren
Date: Fri, 22 Nov 2002 11:42
Date: Fri, 22 Nov 2002 11:42
29 lines
2442 bytes
2442 bytes
Welk type uitdrukking wil je interpreteren? Welke bedoel je, numerieke uitdrukking of wiskundige uitdrukking? De eerste soort is simpel, gewoon een operand stack en een operator stack maken, prefix/postfix/binaire operatoren invoeren, prioriteit en associativiteit bepalen, operator en operand stacks pushen/pullen en uitrekenen. Voorbeelden vind je genoeg op uit internet. Zoek naar iets als "expression evaluator" of kijk in de source van een compiler. Voor simpele uitdrukkingen eventueel Lexx & Jakkes. De tweede soort is lelijk moeilijk. Syntactisch evalueren is datgene wat we vroeger op school deden: vereenvoudigen, overbrengen, integreren, differentieren, ongelijkheden oplossen, enz. Hier beoogt men niet een getal als resultaat, maar een andere uitdrukking (kan eventueel met getallen uitgerekend worden). Ik zou zeggen: begin er niet aan. Voor dit soort zaken schaf je beter een softwarepakket aan, zoals Derive of Mathematica. Red Head wrote: > Weet iemand waar ik een interpreter , solver kan vinden om wiskundige dingen > op te lossen (liefst in vb) > Zelf ben ik aan een interpreter begonnen maar dit is echt freaky moeilijk. > Als iemand de broncode heeft van een interpreter, dan kan ik die > gebruiken in een grafiekprogramma > > users.skynet.be/megaproductions > >
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads