Beispiel #1
0
 public void RegisterOperators(int precedence, Associativity associativity, params string[] opSymbols)
 {
     foreach (string op in opSymbols)
     {
         SymbolTerminal opSymbol = Symbol(op);
         opSymbol.SetOption(TermOptions.IsOperator);
         if (!UsePrecedenceRestricted)
         {
             opSymbol.SetOption(TermOptions.UsePrecedence);
         }
         opSymbol.Precedence    = precedence;
         opSymbol.Associativity = associativity;
     }
 }//method
Beispiel #2
0
 public void RegisterPunctuation(params string[] symbols)
 {
     foreach (string symbol in symbols)
     {
         SymbolTerminal term = Symbol(symbol);
         term.SetOption(TermOptions.IsPunctuation);
     }
 }
Beispiel #3
0
        public void RegisterBracePair(string openBrace, string closeBrace)
        {
            SymbolTerminal openS  = Symbol(openBrace);
            SymbolTerminal closeS = Symbol(closeBrace);

            openS.SetOption(TermOptions.IsOpenBrace);
            openS.IsPairFor = closeS;
            closeS.SetOption(TermOptions.IsCloseBrace);
            closeS.IsPairFor = openS;
        }