AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Scriptsprache in normalen Code einbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Scriptsprache in normalen Code einbinden

Ein Thema von Teekeks · begonnen am 4. Nov 2010 · letzter Beitrag vom 4. Nov 2010
Antwort Antwort
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

Scriptsprache in normalen Code einbinden

  Alt 4. Nov 2010, 18:07
Hallo,

Ich würde ganz gerne erfahren wie ihr (die ihr so etwas schon einmal gemacht habt) eine Scriptsprache direkt in den Code einbindet.
Die fragliche Scriptsprache ist von mir und wird momentan normal über Konsole aufgerufen.

Nun kann aber z.B. die Sprache von LittleDave direkt in den normalen Code mit eingebunden werden.
Da frage ich mich:
wie wird so etwas technisch umgesetzt?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Scriptsprache in normalen Code einbinden

  Alt 4. Nov 2010, 18:24
Wie meinst du das "direkt in den Code einbinden"?

- den Interpreter bzw. Compiler direkt aus dem Code starten?
- die Runtime direkt von dort laufen zu lassen?
oder
- den Skriptcode einfach so in den Quelltext reinklatschen?

Mag sein, dass die dritte Option etwas schwachsinnig ist, aber deine Frage hört sich für mich genau so an

Habe selber mal einen (sehr schwachen kleinen) Skript-Interpreter selber geschrieben. Der hat direkt immer die Skriptzeile ausgeführt, und nicht erst kompiliert. War mehr experimentiell und für mehr nicht zu gebrauchen
Aus denselben Motiven bastel' ich mir nebenbei gerade einen Compiler und eine zugehörige Runtime mit eigenem Bytecode. Jetzt wisst ihr, warum ich euch dauernd mit Automatentheorie vollquatsche.
Warum erzähl' ich das jetzt eigentlich? Naja, vielleicht liegt's daran, dass ich gerade in Erzählstimmung bin und meine Freundin nicht erreichen kann Jetzt müsst ihr herhalten

Geändert von implementation ( 4. Nov 2010 um 19:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#3

AW: Scriptsprache in normalen Code einbinden

  Alt 4. Nov 2010, 18:25
In beiden wird afaik zumindest der Bytecode-Interpreter direkt einkompiliert.

Sowohl den Quelltext von SE II als auch RUTIS kannst du online ansehen.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Scriptsprache in normalen Code einbinden

  Alt 4. Nov 2010, 18:30
Gut, etwas unklar formuliert:

Ich meine dass man zum Schluss z.B. im normalen Code nur folgendes aufruft Parser_CallFunction('eineFunktion'); und dass man z.B. Variablen austauschen (setzten) kann von der Scriptsprache (die dann dementsprechende Funktionen aufweisen muss) aus.

Schreibt man dann header und wenn ja, wie werden diese mit dem Parser "verknüpft"?

Redbox:
Also wird der komplette Code des Parsers mit einkompiliert?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Scriptsprache in normalen Code einbinden

  Alt 4. Nov 2010, 18:36
Wie das in SE II und RUTIS gemacht ist, kann ich nicht sagen, aber ich würde irgendwo in den Bytecode einen Header mit einer Tabelle einbauen, etwa so:
Code:
Addr | Typ | Name
0001    F   SagBaum
0025    V   IchBinEineVariable
oder so in der Art
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Scriptsprache in normalen Code einbinden

  Alt 4. Nov 2010, 18:39
Kannst dir auch mal den Source vom RemObjects Pascal Script ansehen
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz