IPB

Willkommen, Gast ( Anmelden | Registrierung )

> Bevor ihr hier schreibt

Da es in letzter Zeit häufiger vorkommt: DIESES Forum ist für die Diskussion über den HTML-Editor - das Programm ansich. NICHT in dieses Forum gehören HTML/Webdesign Fragen, also Fragen wie: "Wie mache Buttons?" "Was sind DIV-Container?" "Warum funktioniert mein Frameset nicht?" "MouseOver Effekte" etc. pp. Bitte solche Fragen ins eigene "HTML" Forum oder unter Umständen in "Talktime". Nur so kann euch schnell und zuverlässig geholfen werden und Suchende finden die Beiträge schneller, wenn sie im richtigen Forum stehen. Danke. Lars

 
Reply to this topicStart new topic
> Syntax: Kommentar mit einem *
MrJack
Beitrag 05.01.2007 - 14:19
Beitrag #1


Rookie


Gruppe: User
Beiträge: 10
Mitglied seit: 05.01.2007
Mitglieds-Nr.: 6.641



Ich mache gerade ein Syntaxschema für eine Programiersprache,
in der ein Kommentar mit einem * beginnt.

Leider markiert Phase5 nun auch den Rechenoperator *
Ich habe bislang keine Möglichkeit gefunden das hinzubekommen.

Gibt es irgendwelche Vorschläge oder muss Phase erweitert werden?
Go to the top of the page
 
+Quote Post
Conny
Beitrag 05.01.2007 - 15:41
Beitrag #2


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,
zei unterschiedliche Funktionen auf einem Zeichen ist schon ein Problem.
Wie soll das Programm erkennen *WAS* mit dem Zeichen gemeint ist??

Vorschlag: nehm für Kommentare eine Zeichenkombination, z.B. */ Das ist ein Kommentar /*

cu
Conny
Go to the top of the page
 
+Quote Post
MrJack
Beitrag 08.01.2007 - 7:03
Beitrag #3


Rookie


Gruppe: User
Beiträge: 10
Mitglied seit: 05.01.2007
Mitglieds-Nr.: 6.641



habe ich mir auch schon überlegt, ist aber ein wenig
doof, wenn ich alte codes öffne.

der editor könnte es danach erkennen, das jede zeile mit einem punkt abgeschlossen
wird bzw. wenn ein kommentar folgt, muss sie mit einem punkt abgeschlossen werden.

Aber lässt sich das momentan realisieren? dry.gif
Go to the top of the page
 
+Quote Post
Thomas
Beitrag 08.01.2007 - 11:28
Beitrag #4


Nachschlagewerk des Orakels
Gruppensymbol

Gruppe: Mods
Beiträge: 955
Mitglied seit: 29.08.2006
Wohnort: Frankfurt am Main
Mitglieds-Nr.: 6.217



ZITAT(MrJack @ 08.01.2007 - 7:03) *
habe ich mir auch schon überlegt, ist aber ein wenig
doof, wenn ich alte codes öffne.

der editor könnte es danach erkennen, das jede zeile mit einem punkt abgeschlossen
wird bzw. wenn ein kommentar folgt, muss sie mit einem punkt abgeschlossen werden.

Aber lässt sich das momentan realisieren? dry.gif
Es gibt bei P5 zwei Möglichkeiten für Kommentare: Zeilenkommentare und mehrzeilige Kommentare. Erstere beginnen mit einer bestimmten Zeichenkombination und enden immer mit dem Zeilenende, zweitere beginnen mit einer bestimmten Zeichenkombination und enden mit einer zweiten Zeichenkombination, die auch in einer anderen Zeile stehen kann.
Wenn ich dich richtig verstanden habe, könntest du also einen mehrzeiligen Kommentar konstruieren, der mit '*' beginnt und mit '.' endet. Das würde dir bei der Anzeige helfen, sofern du dich an deine Syntax hältst und jeden Kommentar am Ende der Zeile mit einem '.' beendest. Das hilft dir aber nicht bei der Mehrdeutigkeit. Du kannst zwar einen Parser so konstruieren, dass er das '*' Kontextabhängig auswertet, aber mir ist nicht klar, wie du ein Multiplikations-'*' eindeutig von einem Kommentar-'*' unterscheiden willst. Mir fallen da aus dem Stand diverse Beispiele für Mehrdeutigkeiten ein.
Von daher würde ich dir dringend empfehlen, bei deiner Syntax auf Mehrdeutigkeiten zu verzichten.
Alternativ könnte es dir eventuell noch helfen, wenn du einen Zeilenkommentar konstruierst, der mit '* ' beginnt (also Stern + Leerzeichen) und deine Multiplikationen ohne Leerzeichen notierst. In diesem Fall würde dir P5 '4*5' normal anzeigen, '4* 5' als 4 mit einem folgenden Kommentar, in dem '5' steht.
Go to the top of the page
 
+Quote Post
MrJack
Beitrag 08.01.2007 - 19:54
Beitrag #5


Rookie


Gruppe: User
Beiträge: 10
Mitglied seit: 05.01.2007
Mitglieds-Nr.: 6.641



leider ist die programmiersprache sehr "alt".
das heißt ich muss multiplikationen immer x * x mit leerzeichen schreiben.

in diesem fall könnte man den kommentar vom operanten trennen, weil vor dem kommentar
irgendwo ein punkt stehen muss, aber das ist nicht im editor enthalten oder?

BSP:

var1 * var2.*ICH BIN EIN KOMMENTAR ** * * ** ** **

der punkt schließt die codezeile ab...
Go to the top of the page
 
+Quote Post
Thomas
Beitrag 08.01.2007 - 20:16
Beitrag #6


Nachschlagewerk des Orakels
Gruppensymbol

Gruppe: Mods
Beiträge: 955
Mitglied seit: 29.08.2006
Wohnort: Frankfurt am Main
Mitglieds-Nr.: 6.217



ZITAT(MrJack @ 08.01.2007 - 19:54) *
in diesem fall könnte man den kommentar vom operanten trennen, weil vor dem kommentar
irgendwo ein punkt stehen muss, aber das ist nicht im editor enthalten oder?
Dann einfach einen Zeilenkommentar definieren, der mit '.*' beginnt.
Go to the top of the page
 
+Quote Post
MrJack
Beitrag 09.01.2007 - 21:25
Beitrag #7


Rookie


Gruppe: User
Beiträge: 10
Mitglied seit: 05.01.2007
Mitglieds-Nr.: 6.641



es können ja belibig viele leerzeichen da zwischen sein bis der kommentar anfängt,
also auch keine 100% Lösung
Go to the top of the page
 
+Quote Post
Thomas
Beitrag 10.01.2007 - 9:04
Beitrag #8


Nachschlagewerk des Orakels
Gruppensymbol

Gruppe: Mods
Beiträge: 955
Mitglied seit: 29.08.2006
Wohnort: Frankfurt am Main
Mitglieds-Nr.: 6.217



ZITAT(MrJack @ 09.01.2007 - 21:25) *
es können ja belibig viele leerzeichen da zwischen sein bis der kommentar anfängt,
also auch keine 100% Lösung
Eigentlich solltest du aus dem was bisher hier schon geschrieben wurde, auch in der Lage sein, selber nach weiteren Lösungsmöglichkeiten zu suchen. Ich kann immer nur vermuten, wie wohl die Syntax deiner Sprache aussieht und dir daraufhin Vorschläge anbieten, die sich im Rahmen eines Zeilenkommentars realisieren lassen.

Also noch ein letzter Versuch: Definiere einen Zeilenkommentar, der mit '.' beginnt. Wenn alle deine Programmzeilen mit einem '.' aufhören und der '.' ansonsten im Code nicht auftaucht (außer bei Zahlen oder innerhalb von Strings), dann wird damit automatisch alles am Ende einer Zeile als Kommentar dargestellt. Soweit ich das bisher verstanden habe, kann ja auch am Ende einer Zeile nichts anderes mehr kommen als ein Kommentar.

Um einer weiteren Antwort in Form von "Das ist aber immer noch nicht hunderprozent das was ich mir wünsche" vorzubeugen: Der Punkt ist dann auch so formatiert wie der Kommentar. Es geht nicht anders. Und selbst wenn ich die Syntax deiner Sprache komplett kennen würde, würde mir wahrscheinlich keine bessere und hundertprozentige Lösung einfallen.
Go to the top of the page
 
+Quote Post
MrJack
Beitrag 11.01.2007 - 7:58
Beitrag #9


Rookie


Gruppe: User
Beiträge: 10
Mitglied seit: 05.01.2007
Mitglieds-Nr.: 6.641



Ok, um dem ganzen vielleicht ein Ende zu setzen.
Der Vorschlag mit dem Punkt ist nicht schlecht, aber LEIDER auch nicht möglich,
weil Phase den Punkt nach z.b. einer 10 als Dezimalpunkt erkennt.

Wenn ich selbst an Phase Programmieren würde, würde ich es so lösen.

Wenn ein Punkt gesetzt wird, prüfen ob in der gleichen Zeile danach ein * folgt.
Wenn Ja, markier alles ab dem Stern als Kommentar,
Wenn nein, lass es bleiben.

Nur wollte ich natürlich nichts neues programmieren, sonst hätte ich mir
auch einen eigenen Editor schreiben können tongue.gif


Trotzdem danke für die vielen Vorschläge.

Habe jetzt die Lösung mit den 2 Sternen genommen...
Falls jemandem noch was einfällt kann er es ja noch zum Besten geben.
Go to the top of the page
 
+Quote Post
Google Bot
Beitrag
Beitrag #


Google Ads









Go to the top of the page
 
Quote Post

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

 



RSS Vereinfachte Darstellung Aktuelles Datum: 19.04.2024 - 11:35

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