Click or drag to resize

ExpressionParser Klasse

Ein Parser für allgemeine Ausdrücke. Erstellt aus einem Textausdruck einen äquivalenten Baum. Muss abgeleitet werden; in der Ableitung muss dann die Syntax definiert werden. BooleanParserArithmeticParserLogicalParser
Vererbungshierarchie
SystemObject
  NetEti.ExpressionParserExpressionParser
    NetEti.ExpressionParserArithmeticParser
    NetEti.ExpressionParserBooleanParser

Namensraum: NetEti.ExpressionParser
Assembly: NetEti.ExpressionParser (in NetEti.ExpressionParser.dll) Version: 1.0.0+20609015c2da6e03a80f381a46b367814c82f34b
Syntax
public abstract class ExpressionParser

Der ExpressionParser Typ exponiert die folgenden Member.

Konstruktoren
 NameBeschreibung
Protected MethodeExpressionParserInitializes a new instance of the ExpressionParser class
Zurück nach oben
Eigenschaften
 NameBeschreibung
Public EigenschaftExpressionString Der ursprünglich übergebene Text-Ausdruck.
Public EigenschaftMetaRules Liste von höherwertigen Operatoren mit zugeordneten Unterausdrücken. BooleanParser
Public EigenschaftOperatorPriority Liste von Operatoren mit ihren relativen Prioritäten. BooleanParser
Public EigenschaftOperators Liste von jeweils ein oder zwei möglichen Operanden mit jeweils einem zugeordneten Operator. BooleanParser
Public EigenschaftToken Liste von jeweils mehrern möglichen Text-Token mit jeweils einem zugeordneten internen Schlüssel. BooleanParser
Zurück nach oben
Methoden
 NameBeschreibung
Public MethodeGetOperands Parst und retourniert alle Namen, die nicht zu den für diesen Parsertyp definierten Operatoren gehören.
Public MethodeParse Überführt einen Textausdruck anhand vorgegebener Regeln in einen äquivalenten Syntaxbaum.
Zurück nach oben
Anmerkungen
File: ExpressionParser.cs Autor: Erik Nagel, NetEti 10/2012 Erik Nagel: erstellt 03/2013 Erik Nagel: LogicalParser erstellt (boolesche plus Vergleichsoperatoren); Fehler beim Auswerten mehrwertiger Ausdrücke behoben. 06/2013 Erik Nagel: Endlosloop bei Einzelvariable ohne Operator abgefangen. 09.07.2016 Erik Nagel: Es werden jetzt auch User-Variablen, die "_" enthalten, korrekt verarbeitet.
Siehe auch