Autor Beitrag
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Fr 08.07.05 16:08 
ich suche nach einem leistungsstarken aber kostenlosen syntax parser um eine kleine eigene skript sprache auf die beine zu stellen.

folgender hintergrund:
ich baue momentan ein offnenes pc-interface auf I²C bus-basis, welches am druckerport angeschlossen wird.
für entwicklungs und prüfzwecke möchte ich gerne ein möglichst flexibles skriptsystem auf die beine stellen.
mit diesem soll es mit einem duzend grundbefehle möglich sein über das interface zu kommunizieren und schnell eigene erweiterungen auf macro-basis erstellen zu können. ( wenn z.B. ein unbekanntes modul an dem bus angeschlossen wird, muss so nurnoch ein neues kommunikationsskript erstellt werden, anstatt die änderungen hart zu coden)

folgene features sollte der parser also haben:
definieren von eigenen macros, konstanten und variablen.
einfache schleifen/verzweigungs -funktionen (while, if usw)

kennt jemand ein guten parser der sowas bewerkstelligen kann?

ich suche noch jemanden der das mit mir programmiern würde - bei interesse melden (PN/ICQ)


Moderiert von user profile iconChristian S.: Topic aus VCL (Visual Component Library) verschoben am Fr 08.07.2005 um 17:12

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
r4id3n
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 115

Win XP Home, Win XP Pro
D6 Prof, D7 Ent, K3 Ent
BeitragVerfasst: Fr 08.07.05 16:54 
Schau dir mal PasScript on RemObjects an! www.remobjects.com/p...1-BA89-EEBBE7E302E6}
patrick Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Fr 08.07.05 18:08 
danke, ich suche aber ein parser.
das ist ja schon ein kompletter compiler ^^.
der tool ist aber für meine zwecke schon fast zu mächtig. für andere zwecke ist das aber sinnvoller.
ich werde mal etwas rumprobieren, hilfe ist ja nur wenig vorhanden

noch weitere vorschläge

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
Dolphi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Fr 08.07.05 20:30 
Wie wärs damit:
www.lua.org/
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 11.07.05 11:01 
Hallo!

Wie genau soll denn diese Scriptsprache aussehen?

Für mehrere meiner privaten Projekte habe ich mal einen kleinen Parser und eine Script-Klasse geschrieben. Das Script sieht dann wie folgt aus:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
<sektion1>
  Eigenschaft1 = 'Hallo';
  Eigenschaft2 = 5;
  
  // Kommentar
  <sektion2>
    Eigenschaft3 = True;
  </sektion2>
</>

Dieser Parser und die Script-Klassen sind so aufgebaut das sie in mehreren verschiedenen Projekten eingesetzt werden könnnen. Beim Starten des Parsers gibt man einen Script-Description-Klasse an. In dieser Klasse sind die Sektionen, Untersektionen und die Eingenschaften definiert die in dem Script erlaubt sind. Diese Klasse beschreibt genau die Struktur der Sektionen und die Eigenschaften. Auch die Typen (String, Integer, Boolean) der Eigenschaften müssen festgelegt werden. Bei einem Fehler (Syntax oder Struktur) gibt die Script-Klasse automatisch entsprechende Fehler aus.

Die Scirptklasse kann im übrigen auch mit Define´s, IFDEF´s und Includes umgehen.

Im Anhang findest du einen kleinen Screenshot von einem Projekt welches diese Scriptklasse benutzt. Wenn du mit dieser Scriptklasse etwas anfangen kannst dann melde dich einfach bei mir.

Gruß
Tino
Einloggen, um Attachments anzusehen!
patrick Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Mo 11.07.05 11:50 
wie ich oben geschrieben habe, möchte ich das so flexibel wie möglich gestallten.

neben den verzweigungen sollten also auch variablen und unterprogramme definiert werden können.

beispiel gefällig? ok weil so nett gefragt wurde :D

es wird z.B. ein Script angelegt, das wie folgt aussieht:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
//Dateiname: ModulXYIdent.script

IdenCode = 3C;
Adr = 32;

sub IdentOK(portNumber): return {
 SetOutputPort(portNumber);
 DeviceIdent = GetPortData(Adr);
 
 if IdenCode == DeviceIdent then
  return true
 else 
  return false
}


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
//Dateiname: ModulXY.script
using  ModulXYIdent.script

IdenCode = 3C;
Mode = ComMode;
DataSet = 'test';
Adr = 32;

while Mode=1F66 do
sleep (10)
until ModulXYIdent.IdentOK(345)==true

  SendString(DataSet) //in einer anderen unit festgelegt oder hart programmiert


ich hoffe der pseudocode zeigt, worauf ich raus will.

_________________
Patrick
im zweifelsfall immer das richtige tun!!!