Diskussion zum Artikel "MQL-Parsing mit Hilfe von MQL"

 

Neuer Artikel MQL-Parsing mit Hilfe von MQL :

Der Artikel beschreibt einen Präprozessor, einen Scanner und einen Parser, die beim Parsen der MQL-basierten Quellcodes verwendet werden sollten. Die MQL-Implementierung ist beigefügt.

Programmierung ist im Wesentlichen die Formalisierung und Automatisierung einiger Prozesse mit Hilfe von Mehrzweck- oder Spezialsprachen. Die Handelsplattform MetaTrader ermöglicht die Anwendung der Programmierung zur Lösung einer Vielzahl von Problemen eines Händlers unter Verwendung der integrierten MQL-Sprache. In der Regel basiert der Codierungsprozess auf der Analyse und Verarbeitung von Anwendungsdaten nach den Regeln des Quellcodes. Manchmal ergibt sich jedoch die Notwendigkeit, die Quellcodes selbst zu analysieren und zu verarbeiten. Hier sind einige Beispiele.

Eine der konsistentesten und beliebtesten Aufgaben ist die kontextuelle und semantische Suche in der Quellcodebasis. Sicherlich können Sie in einem Quellcode wie in einem normalen Text nach Zeichenketten suchen, aber die Semantik des Gesuchten geht verloren. Schließlich ist es im Falle von Quellcodes wünschenswert, zwischen den Besonderheiten der Verwendung der Teilzeichenkette in jedem konkreten Fall zu unterscheiden. Wenn ein Programmierer herausfinden möchte, wo eine bestimmte Variable verwendet wird, wie z.B. "notification", dann kann eine einfache Suche nach ihrem Namen viel mehr als nötig zurückgeben, wenn die Zeichenkette in anderen Werten, wie beispielsweise einem Methodennamen oder einem Literal, oder in Kommentaren vorkommt.

Komplizierter und in der Regel bei größeren Projekten gefragt ist die Aufgabe, Codestruktur, Abhängigkeiten und Klassenhierarchie zu identifizieren. Es ist eng mit der Metaprogrammierung verbunden, die es ermöglicht, Code-Überarbeitungen/-Verbesserung und die Codegenerierung durchzuführen. Erinnern Sie sich daran, dass der MetaEditor einige Möglichkeiten bietet, Code zu generieren, insbesondere die Quellcodes von Expert Advisors mit dem Wizard zu erstellen oder eine Header-Datei aus dem Quellcode zu erstellen. Die Potenziale dieser Technologie sind jedoch viel größer.

Die Code-Strukturanalyse ermöglicht die Berechnung verschiedener Qualitätsmetriken und Statistiken sowie das Auffinden der typischen Quellen von Laufzeitfehlern, die der Compiler nicht erkennen kann. Tatsächlich ist der Compiler selbst natürlich das erste Werkzeug zur Analyse eines Quellcodes und gibt viele unterschiedliche Warnungen zurück; die Überprüfung auf alle möglichen Fehler ist jedoch in der Regel nicht eingebaut — diese Aufgabe ist zu umfangreich, so dass sie normalerweise separaten Programmen zugeordnet ist.

Darüber hinaus wird das Parsen von Quellcodes für das Styling (Formatierung) und die Verschleierung (Verwirrung) verwendet.

UML-Diagram der Klassen des MQL Parsings

Autor: Stanislav Korotky