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
public void RegisterPunctuation(params string[] symbols) { foreach (string symbol in symbols) { SymbolTerminal term = Symbol(symbol); term.SetOption(TermOptions.IsPunctuation); } }
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; }