OpenKeyWord  Version: 426, Datum:
OKW_Visitor.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using Antlr4.Runtime.Tree;
6 
7 using OKW;
8 
9 namespace OKW.ANTLR4
10 {
11  public class OKW_Visitor : OKW_ParserBaseVisitor<string>
12  {
13 
14  public override string VisitOkw_env_var(OKW_Parser.Okw_env_varContext context)
15  {
16  string lvsReturn = context.GetChild(1).GetText();
17 
18  if (OKW_Memorize.Instance.Exists( lvsReturn ))
19  lvsReturn = OKW_Memorize.Instance.Get( lvsReturn);
20  else
21  lvsReturn = Environment.GetEnvironmentVariable( lvsReturn );
22 
23  return lvsReturn;
24  }
25 
26  public override string VisitOkw_internal_var( OKW_Parser.Okw_internal_varContext context)
27  {
28  string lvsReturn = context.GetChild(1).GetText();
29 
30  switch (lvsReturn)
31  {
32 
33  case "Folder_LogMessages":
35  break;
36 
37  case "Folder_XML":
39  break;
40 
41  case "File_OKW_Const_xml":
43  break;
44 
45  case "File_OKW_Docu_xml":
47  break;
48 
49  case "File_OKW_ImplementationMatrix_xml":
51  break;
52 
53  case "File_OKW_Ini_xml":
55  break;
56 
57  case "File_OKW_Keymaps_xml":
59  break;
60 
61  case "File_OKW_Memorize_xml":
63  break;
64  }
65 
66  return lvsReturn;
67 
68  }
69 
70 
71  public override string VisitText( OKW_Parser.TextContext context )
72  {
73  string lvsReturn = context.GetText();
74 
75  return lvsReturn;
76  }
77 
78  protected override string AggregateResult( string aggregate, string fpsNextResult )
79  {
80  string lvsReturn = string.Empty;
81 
82  if ( aggregate != null )
83  lvsReturn = aggregate;
84 
85  if (fpsNextResult != null)
86  lvsReturn = lvsReturn + fpsNextResult;
87 
88  return lvsReturn;
89  }
90  }
91 }
string File_OKW_ImplementationMatrix_xml
Property get/set von __File_OKW_ImplementationMatrix_xml.
bool Exists(string fpsKey)
Prüft ob es eine Eintragzum Schlüssel fpsKey vorhanden ist.
string Folder_LogMessages
Property get/set von __Folder_LogMessages.
static OKW_Ini Instance
Singelton-Pattern: Instanz gibt die aktuelle, gültige und einzige Innstanz der Klasse zurück...
Definition: OKW_Ini.cs:306
string File_OKW_Ini_xml
Property get/set von __File_OKW_Ini_xml.
string File_OKW_Const_xml
Property get/set von __File_OKW_Const_xml.
override string VisitOkw_env_var(OKW_Parser.Okw_env_varContext context)
Visit a parse tree produced by OKW_Parser.okw_env_var.
Definition: OKW_Visitor.cs:14
OKW_Enviroment OKW_Enviroment
Dieses Feld hält den Abschnitt OKW_Enviroment der OKW_Ini.xml vor.
Definition: OKW_Ini.cs:219
static OKW_Memorize Instance
Diese Methode gibt die einzige Instanz dieser Klasse zurück.
string File_OKW_Keymaps_xml
Property get/set von __File_OKW_Keymaps_xml.
string Get(string fpsKey)
Holt den Aktuellen Wert eines Schlüssels.
string File_OKW_Docu_xml
Property get/set von __File_OKW_Const_xml.
override string VisitOkw_internal_var(OKW_Parser.Okw_internal_varContext context)
Visit a parse tree produced by OKW_Parser.okw_internal_var.
Definition: OKW_Visitor.cs:26
string Folder_XML
Property get/set von __Folder_XML.
OKW_Memorize ist die Speicher-Klasse hinter den Merke*-Schlüsselwörter.
Definition: OKW_Memorize.cs:72
override string VisitText(OKW_Parser.TextContext context)
Visit a parse tree produced by OKW_Parser.text.
Definition: OKW_Visitor.cs:71
This class provides an empty implementation of IOKW_ParserVisitor, which can be extended to c...
OKW.OKW_Ini ist die Klasse zur Konfigurationsdatei OKW_Ini.xml.
Definition: OKW_Ini.cs:188
Definition: Core.cs:40
string File_OKW_Memorize_xml
Property get/set von __File_OKW_Memorize_xml.