Announcement

Collapse
No announcement yet.

parsefunktion für programmiereditor

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • parsefunktion für programmiereditor

    hi,

    für meinen programmiereditor möchte ich noch eine parsefunktion entwickeln, die codierrichtlinien umsetzt!

    gang und gebe ist ja, dass man inner eines begriffs den anfangbuchstaben eines wortes groß schreibt!

    beispiel:
    UpperCase
    FileCopy

    wie erkenne ich beim parsen ein neues wort?

    gruß

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hi Markus,<br>
    ein neues Wort erkennt man an dem Zeichen davor! Wenn ein Space oder ein Tab davor ist beginnt ein neues Wort!<br>
    mfg<br>
    Simo

    Comment


    • #3
      hi simon,

      ich meinte aber so zuammengesetzte wörter!!
      siehe oben! <b>UpperCase</b>

      gruß

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        HI Markus, <br>
        <br>
        da hab ich dich leider falsch verstanden. Wenn ich dich jetzt richtig verstanden habe, dann musst das Wort nach Großbuchstaben durchsuchen. Eine andere Möglichkeit ist, dass du immer einen Buchstaben mehr von dem Wort nimmst und mit bekannten Wörten aus dem Wörterbuch vergleichst. <br>
        Für den Fall, dass die Wörter bereits bekannt sind, kannst du auch die zusammengesetzten Wörter in ein Wörterbuch speichern und diese dann mit dem eingegebenen vergleichen.<br>
        <br>
        mfg<br>
        Simo

        Comment


        • #5
          ne, ich glaube du hast mich noch immer nicht richtig verstanden!

          im code steht zum beispiel <b>uppercase</b> und meine funktion soll
          <b>UpperCase</b> daraus machen!

          gruß

          marku
          Herzliche Grüße

          Markus Lemcke
          barrierefreies Webdesign

          Comment


          • #6
            Dann kannst du das aber nur, wenn du die Wörter bereits kennst! Du vergleichst das eingegeben ( zusammengestzte ) Wort mit den Wörten die dein Programm kennt und änderst entsprechend die Groß- und Kleinschreibung. Wenn dein Proramm die Wörten nicht kennt, dann lässt sich das wohl kaum realisieren, da die Wörten für den Computer nur ein Haufen Buchstaben sind. Wenn aber die Wörter bekannt sind, egal ob die einzelnen oder die zusammengesezten Wörter, dann kann man diese erkennen und großschreiben. <br>
            Um was handelt es sich genau, soll das ein Programmeditor werden?<br>
            <br>
            mfg<br>
            Simo

            Comment


            • #7
              Moin Markus,<br>
              <br>
              Du könntest dann auch noch Simons Methode (anders kann's wohl kaum gehen) noch um eine Lernfunktion ergänzen.<br>
              Stösst der Parser auf einen Bezeichner, der sich nicht mit Hilfe des Wörterbuches umsetzen lässt, kann ein Fenster hochpoppen, das dann die gewünschte Schreibweise abfragt, woraus sich dann wieder neue Worte für das Wörterbuch ergeben.<br>
              Das einzige "Problem" was ich da noch sehe:<br>
              Eigentlich bräuchtest Du noch eine Unterscheidung nach Funktions/Prozedurnamen und Variablennamen/Konstanten, denn bei letzteren wird ja meist ein (klein geschriebener) Präfix benutzt, der den Typ angibt, oder F für Feldnamen in Klassendeklarationen, T für Typen, P für Pointertypen.<br>
              Deine Parsefunktion müsste dann also eigentlich auch noch erkennen, um was für einen Bezeichner es sich handelt (Funktion im Sourcecode).<br>
              <br>
              Ciao<br>
              Chri

              Comment


              • #8
                Wenn man auch Wörter "übersetzen" möchte die vorher nicht bekannt sind, dann wird es richtig kompliziert, weil man dann eigentlich schon einen Interpreter für den Sourcecode entwickeln muss, der die AUsdrücke auswertet, Syntaxprüft usw.. Die Wörter müssen noch nicht zur Designtime bekannt sein, man kann sie beispielsweise auch aus einer Textdatei lesen.<br>
                <br>
                mfg<br>
                Simo

                Comment


                • #9
                  Moin Simon,<br>
                  <br>
                  also einen Interpreter braucht man dafür nun wirklich nicht. ;-)<br>
                  Es genügt ja schon, wenn man, anhand der Position eines Bezeichners, entscheiden kann, welcher Art dieser ist (Variablenname, Funktionsname...)<br>
                  Es ist ja, zum Glück, nicht erforderlich, z.b., If/then Konstrukte auszuwerten.<br>
                  Auf was in jedem Fall geachtet werden muss, sind auch Stringkonstanten. Diese müssen schliesslich so wie sie sind übernommen werden.<br>
                  <br>
                  Ciao<br>
                  Chri

                  Comment


                  • #10
                    Es ist wirklich nicht notwendig bestimmte Konstruckte auszuwerten und auszuführen aber wenn man schon so weit gehen will, dass man den Code nach ausdücken usw. durchsucht, dann muss aber auch die Korecktheit des Codes feststellen. Ansonsten könnte es zu Problemen kommen, z.B. wenn eine Varible den selben Namen wie eine Funktion hat! Und um anhand der Position eines Ausdruckes seinen Typ zu bestimmen, kann ja nur funktionieren, wenn man die richtige Syntax der Programmiersprache kennt und dazu gehören auch bestimmte Konstruckte wie if-Abfragen!<br>
                    <br>
                    Also wenn ihr mich nach meiner Meinung zu dem Thema fragt, dann gibt es eigentlich nur 2 Möglichkeiten:<br>
                    <p><b>1:</b> Eine einfache Lösung. Man ändert die Groß- und Kleinschreibung jedes Begriffes, der im "Wörterbuch" gefunden wird. Diese Methode ist Relativ unaufwendig, allerdings auch sehr Fehlerträchtig.</p>
                    <p><b>2:</b> Eine aufwendige Lösung. Man entwickelt einen Sourcecodeparser, der die gesammte Programmiersprache richtig auswerten kann. Nur somit kann sichergestellt werden, dass auch die richtigen Ausdrücke, und zwar nur diese, "übersetzt" werden. Dies ist allerdings sehr aufwendig und muss für jede Sprache extra gemacht werden.</p><br>
                    mfg<br>
                    Simo

                    Comment


                    • #11
                      Moin Simon,<br>
                      <br>
                      wobei dann auch noch Besonderheiten der Sprachen zu berücksichtigen sind.<br>
                      Ich denke da speziell an die erforderliche Einhaltung der Gross-/Kleinschreibung in C/C++/C#<br>
                      Bei solchen Sprachen hat man oft "verloren" wenn man sich leicht durch die automatisierte Änderung der Schreibweise den Code zerstören kann.<br>
                      Gerade bei C usw. ist es ja gang und gäbe durch die Schreibweise zu unterscheiden, und wenn die gleich gemacht wird...<br>
                      <br>
                      Ciao<br>
                      Chri

                      Comment


                      • #12
                        hi ihr beiden!

                        ja, dass mit der lernfunktion geht mir auch im kopf rum!
                        ich glaube ich lege mal jetzt einfach los und dann mal schauen was raus kommt

                        gruß

                        marku
                        Herzliche Grüße

                        Markus Lemcke
                        barrierefreies Webdesign

                        Comment

                        Working...
                        X