IPB

Willkommen, Gast ( Anmelden | Registrierung )

2 Seiten V   1 2 >  
Reply to this topicStart new topic
> Eigene *.sch-files Erstellen?
Lebostein
Beitrag 23.07.2004 - 13:15
Beitrag #1


Rookie


Gruppe: User
Beiträge: 4
Mitglied seit: 23.07.2004
Mitglieds-Nr.: 3.451



Hallo,

nach eifriger Suche und ausprobieren von mindestens 10 Freeware Programmiereditoren bin ich zu dem Schluss gekommen: PROTON ist einfach der beste! icon13.gif

Zu meiner Frage: Da ich im Bereich der FEM (Finite Elemente Methode) andere Programmier- und Scriptsprachen verwende (zum Beispiel ABAQUS oder MSC Patran Command Language) möchte ich für diese Sprachen ein eigenes Highlighting-File erzeugen. Bin auch schon ziemlich weit gekommen, was den Aufbau und das Verständniss der Highlighting-Dateien angeht. Aber einige Befehle usw. sind mir noch ein Rätsel.

Gibt es eine Dokumentation, wie die *.sch-Files aufgebaut sind und welche Befehle man wie einsetzten kann? Gibt es vielleicht eine Art Editor für diese Dateien? Irgendwie muss ja der Programmierer von PROTON auch diese Dateien erzeugt haben.

Vielen Dank!
Go to the top of the page
 
+Quote Post
Andreas
Beitrag 23.07.2004 - 13:26
Beitrag #2


____________________
Gruppensymbol

Gruppe: Admin
Beiträge: 1.220
Mitglied seit: 20.10.2001
Mitglieds-Nr.: 3



Im Phase5 ist der Schemeseditor integriert: [Einstellungen] -> [Syntaxschema bearbeiten]. Bin mir im Moment aber nicht sicher, ob die P5 Schemes zu den doch älteren Proton Schemes kompatibel sind.

Früher gab's den auch mal einzeln - ohne Support und Doku. Mal schauen, ob ich den noch finde ...
Go to the top of the page
 
+Quote Post
helpy
Beitrag 23.07.2004 - 14:10
Beitrag #3


;-)
Gruppensymbol

Gruppe: Mods
Beiträge: 246
Mitglied seit: 20.11.2001
Mitglieds-Nr.: 15



ZITAT(Andreas @ 23.07.2004 - 14:26)
Bin mir im Moment aber nicht sicher, ob die P5 Schemes zu den doch älteren Proton Schemes kompatibel sind.

hi all,

Also bei mir arbeitet Proton auch mit den Syntaxschemen, die bei Phase5 dabei sind, bzw. von mir mit dem Schema-Editor von Phase5 bearbeitet wurden.

Ich hab' einfach die proton.exe (ohne all die anderen Proton-Dateien) ins phase5 Verzeichnis kopiert ... und bisher nie Probleme gehabt.

cu, Guido
Go to the top of the page
 
+Quote Post
Lebostein
Beitrag 23.07.2004 - 14:24
Beitrag #4


Rookie


Gruppe: User
Beiträge: 4
Mitglied seit: 23.07.2004
Mitglieds-Nr.: 3.451



Ah Danke!! Sie sind kombatibel!

Aber scheinbar habe ich einen Bug in der ganzen Highlighting-Sache entdeckt. Und zwar wenn ich ein zusammengesetztes Schlüsselwort definieren will.

Normalerweise sieht es ja so aus:

QUELLTEXT
item
  FontID = 1
  Name = 'keywords'
  Keywords = 'IF, ELSE, END'
end>


In ABAQUS habe ich aber zusammengesetzte Befehle wie zum Beispiel CONTACT PAIR. Also habe ich in den Highlighting-Editor in PHASE 5.3 ein neues Schlüsselwort erzeugt. Der Code dazu sieht jetzt so aus:

QUELLTEXT
item
  FontID = 1
  Name = 'keywords'
  Keywords = 'IF, ELSE, "CONTACT PAIR", END'
end>


Der Editor kennzeichnet also zusammengesetzte Schlüsselwörter (mit einem Leerzeichen dazwischen) durch Anführungsstriche "...."

Aber der Editor (PROTON sowie PHASE 5.3) übergehen das Schlüsselwort CONTACT PAIR, als wäre es gar nicht definiert worden.

Ist das ein Bug oder habe ich was falsch gemacht??

Danke!



EDIT:
PS: hier mal mein Test-Scheme-file. Ihr werdet sehen, CONTACT PAIR wird ignoriert:

QUELLTEXT
object TPersHolder
 P.Name = 'ABAQUS'
 P.SyntaxBlocks = <
   item
     Name = 'Default'
     ID = 0
     UseKeywords = True
     BlockDelimiters = <>
     KeywordSets = <
       item
         FontID = 1
         Name = 'keywords'
         Keywords = 'NODE,STATIC,"CONTACT PAIR",DYNAMIC'
       end>
   end>
 P.FontTable = <
   item
     FontID = 1
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clActiveCaption
     Font.Height = -13
     Font.Name = 'Courier New'
     Font.Style = [fsBold, fsItalic]
   end>
 P.SyntaxVersion = 3
end


..einfach kopieren und als *.sch Datei abspeichern...

Der Beitrag wurde von Lebostein bearbeitet: 23.07.2004 - 14:41
Go to the top of the page
 
+Quote Post
db
Beitrag 23.07.2004 - 14:55
Beitrag #5


hdb
*****

Gruppe: User
Beiträge: 685
Mitglied seit: 26.10.2001
Wohnort: Köln
Mitglieds-Nr.: 5



Das ist ja wohl auch mehr als logisch, denn zusammengesetzte Worte sind ein String. Ein Blank ist ein WordDelimiter!

Wenn Du CONTACT PAIR hervorheben möchtest, dann eben als einzeiliger String.

Linker Begrenzer CONTACT

Rechter Begrenzer PAIR
Go to the top of the page
 
+Quote Post
Lebostein
Beitrag 23.07.2004 - 15:09
Beitrag #6


Rookie


Gruppe: User
Beiträge: 4
Mitglied seit: 23.07.2004
Mitglieds-Nr.: 3.451



Hm, das würde dann bei vielen solcher Befehle umständlich werden. Ich frag mich nur, warum man dann das mit den Anführungsstrichen in den Scheme-Files eingeführt hat....

Ich hatte nur gedacht, es könnte ein Bug sein, weil man bei NEdit zum Beispiel solche zusammengesetzten Schlüsselwörter auch so ähnlich vorgeben kann:
QUELLTEXT
(|IF|ELSE|CONTACT PAIR|END|)


Aber wenn das vom Autor von PHASE 5 nicht anders vorgesehen ist, dann muss (und kann) ich damit leben. Trotzdem, ein sehr schöner Editor!

Der Beitrag wurde von Lebostein bearbeitet: 23.07.2004 - 15:15
Go to the top of the page
 
+Quote Post
helpy
Beitrag 23.07.2004 - 15:37
Beitrag #7


;-)
Gruppensymbol

Gruppe: Mods
Beiträge: 246
Mitglied seit: 20.11.2001
Mitglieds-Nr.: 15



Da hat Dieter vollkommen recht. Ein Leerzeichen ist ein Wortbegrenzer. Würde das Leerzeichen zum Wort gehören, dann gäbe es das Problem, dass ein "IF " (IF mit einem Leerzeichen daran) oder ein IF mit Leerzeichen davor als unbekanntes Schlüsselwort gehandhabt würde. ...

Dazu eine Anmerkung:

In den Syntaxschemas gibt es eine Standardeinstellung, die man mit dem aktuellen Schema-Editor nicht bearbeiten kann:
  • Ein Schlüsselwort muss mit einem der folgenden Zeichen beginnen: A-Z_a-z (Buchstabe oder Unterstrich)
  • Ein Schlüsselwort darf nur folgende Zeichen enthalten: 0-9A-Z_a-z (Buchstabe, Ziffer oder Unterstrich
D.h. es ist nicht möglich Schlüsselworte zu deklarieren, die mit einer Ziffer beginnen. Schlüsselworte, die einen Bindestrich enthalten, sind ebenfalls nicht erlaubt. Obwohl das ja ganz nett wäre, denn in Html gibt es z.B.: Schlüsselworte mit einem Bindestrich, und zwar die Attribute accept-charset und http-equiv.

Hier gibt es eine Lösung, in dem man das Syntaxschema in einem Editor bearbeitet und mit der Anweisung OtherIdentChars = '\-0-9A-Z_a-z' den Bindestrich innerhalb von Schlüsselworten erlaubt. Hier ein Ausschnitt aus meiner *.sch-Datei:
QUELLTEXT
................................................................................
.......
       item
         FontID = 21
         Name = 'attributes'
         Keywords =
           'abbr,accept-charset,accesskey,action,align,alink,alt,archive,axi' +
           's,background,bgcolor,border,cellpadding,cellspacing,char,charoff' +
           ',checked,cite,class,classid,clear,code,codebase,codetype,color,c' +
           'ols,colspan,compact,content,coords,data,datetime,declare,defer,d' +
           'ir,disabled,enctype,face,for,frame,frameborder,headers,height,hr' +
           'ef,hreflang,hspace,http-equiv,id,ismap,label,lang,language,link,' +
           'longdesc,marginheight,marginwidth,maxlength,media,method,multipl' +
           'e,name,nohref,noresize,noshade,nowrap,object,onblur,onchange,onc' +
           'lick,ondblclick,onfocus,onkeydown,onkeypress,onkeyup,onload,onmo' +
           'usedown,onmousemove,onmouseout,onmouseover,onmouseup,onreset,ons' +
           'elect,onsubmit,onunload,profile,prompt,public,readonly,rel,rev,r' +
           'ows,rowspan,rules,scheme,scope,scrolling,selected,shape,size,spa' +
           'n,src,standby,start,style,summary,tabindex,target,text,title,typ' +
           'e,usemap,valign,value,valuetype,version,vlink,vspace,width'
       end>
     OtherIdentChars = '\-0-9A-Z_a-z'
................................................................................
.......


Das wäre z.B. auch für das CSS-Syntaxschema von Vorteil, denn dort gibt es eine Menge von zusammengesetzten Schlüsselworte (CSS-Eigenschaften).

ABER ... wenn man bei OtherIdentChars ein Leerzeichen eingeben würde, dann gibt das sicher ein Chaos!!

Der Umweg über die String-Definition ist daher wohl die einzige Lösung!

cu, Guido

Nachtrag:
Das muss mit Vorsicht angewendet werden, denn, wenn man ein Schema z.B. für eine Programmiersprache verwendet, indem der Bindestrich bzw. das Minuszeichen eben als Minus verwendet wird, dann wird es wohl auch einen Konflikt in der Interpretation geben. Da aber in HTML oder auch in CSS der Bindestrich kein besonderes Zeichen ist, gibt es in diesem Fall keine Probleme. ... oder hab' ich da jetzt etwas nicht bedacht ???
Go to the top of the page
 
+Quote Post
Conny
Beitrag 23.07.2004 - 18:40
Beitrag #8


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



Hallo Helpy,
vielen Dank für diese Info! icon13.gif

Ich habe schon bis zur Verzweiflung gesucht nach einer Möglichkeit &nbsp; als Keyword ein zu fügen, denn ich bilde mir ein, wenn das &nbsp; sich farblich hervor hebt, lässt sich der Text, in der das Backspace steht, leichter lesen. Gleiches würde übrigens auch für die Umlaute gelten (wenn sie nicht konvertiert werden).

Deine Ausführung zu folge geht das also nicht. mad.gif

Ausser vielleicht mit der Anweisung: OtherIdentChars ?? huh.gif

Oder gibt es hierfür noch einen anderen (besseren) Lösungsansatz?

cu
Conny
Go to the top of the page
 
+Quote Post
helpy
Beitrag 23.07.2004 - 20:06
Beitrag #9


;-)
Gruppensymbol

Gruppe: Mods
Beiträge: 246
Mitglied seit: 20.11.2001
Mitglieds-Nr.: 15



Hi Conny,

Ich hab' es gerade ausprobiert. Ich hab' folgendes Ergebnis bekommen:
ZITAT
<p>TEST: &nbsp; a&nbsp;b !</p>


D.h. Ein Entity, das von zwei Zeichen umgeben ist, die nicht in einem Schlüsselwort vorkommen dürfen, dann wird dieses Erkannt, aber wenn vorher und/oder nachher z.B. ein Buchstabe folgt, dann wird dieses nicht erkannt!

Die andere Lösung: Du kannst noch für den Text zwischen den Tags einen String definieren, der mit einem "&" beginnt und mit einem ";" aufhört (ähnlich, wie Dieter es für den Zwei-Wort-Befehl vorgeschlagen hat). Dann wird ALLES zwischen einem & und einem ; z.B. fett geschrieben ... probiers aus, ob das die richtige Lösung für Dich ist.

cu, Guido
Go to the top of the page
 
+Quote Post
Conny
Beitrag 23.07.2004 - 20:36
Beitrag #10


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



ZITAT(Helpy)
Du kannst noch für den Text zwischen den Tags einen String definieren, der mit einem "&" beginnt und mit einem ";" aufhört (ähnlich, wie Dieter es für den Zwei-Wort-Befehl vorgeschlagen hat). Dann wird ALLES zwischen einem & und einem ; z.B. fett geschrieben ... probiers aus, ob das die richtige Lösung für Dich ist.


Das habe ich (schon mal) versucht:
Linker Begrenzer: &nb
und
Rechter Begrenzer: sp;
hat nix gebracht...

Vielleicht muß ich aber auch:
Linker Begrenzer: &n
und
Rechter Begrenzer: p;
nehmen, die beiden Begrenzer werden dann mit bs gefüllt.

Ich teste noch mal,
bis gleich wink.gif

cu
Conny
Go to the top of the page
 
+Quote Post
Google Bot
Beitrag
Beitrag #


Google Ads









Go to the top of the page
 
Quote Post

2 Seiten V   1 2 >
Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 25.04.2024 - 8:44

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here