Exemple #1
0
 public LanguageData(Grammar grammar)
 {
     Grammar = grammar;
       GrammarData = new GrammarData(this);
       ParserData = new ParserData(this);
       ScannerData = new ScannerData(this);
 }
Exemple #2
0
 public override void Init(GrammarData grammarData)
 {
     base.Init(grammarData);
       //Remove new line chars from whitespace
       foreach(char t in LineTerminators)
     grammarData.Grammar.WhitespaceChars = grammarData.Grammar.WhitespaceChars.Replace(t.ToString(), string.Empty);
 }
Exemple #3
0
 public override void Init(GrammarData grammarData)
 {
     base.Init(grammarData);
       string workPattern = @"\G(" + Pattern + ")";
       RegexOptions options = (OwnerGrammar.CaseSensitive ? RegexOptions.None : RegexOptions.IgnoreCase);
       _expression = new Regex(workPattern, options);
       if (this.EditorInfo == null)
     this.EditorInfo = new TokenEditorInfo(TokenType.Unknown, TokenColor.Text, TokenTriggers.None);
 }
Exemple #4
0
 public override void Init(GrammarData grammarData)
 {
     base.Init(grammarData);
       //_endSymbolsFirsts char array is used for fast search for end symbols using String's method IndexOfAny(...)
       _endSymbolsFirsts = new char[EndSymbols.Count];
       for (int i = 0; i < EndSymbols.Count; i++) {
     string sym = EndSymbols[i];
     _endSymbolsFirsts[i] = sym[0];
     _isLineComment |= sym.Contains("\n");
     if (!_isLineComment)
       SetOption(TermOptions.IsMultiline);
       }
       if (this.EditorInfo == null) {
     TokenType ttype = _isLineComment ? TokenType.LineComment : TokenType.Comment;
     this.EditorInfo = new TokenEditorInfo(ttype, TokenColor.Comment, TokenTriggers.None);
       }
 }
Exemple #5
0
 public override void Init(GrammarData grammarData)
 {
     base.Init(grammarData);
       if (String.IsNullOrEmpty(QuickParseTerminators))
     QuickParseTerminators = OwnerGrammar.WhitespaceChars + OwnerGrammar.Delimiters;
       _defaultFloatTypes = new TypeCode[] { DefaultFloatType };
       if (this.EditorInfo == null)
     this.EditorInfo = new TokenEditorInfo(TokenType.Literal, TokenColor.Number, TokenTriggers.None);
 }