/// <summary> /// Create CSharpSyntax object. /// </summary> /// <param name="lexer">Lexer which will be used for getting tokens.</param> /// <param name="nextTree">Encapsulate method which return next node tree from parser.</param> internal CSharpSyntax(ILexer lexer, GetNextTree nextTree) { _lexer = lexer; layouts = new LanguageLayouts(nextTree, _lexer); KnownTokens.UnionWith(BinOperators.Keys); KnownTokens.UnionWith(EndingTokens); KnownTokens.UnionWith(PrefOperators); KnownTokens.UnionWith(PostOperators); }
/// <summary> /// Create layouts object. /// </summary> /// <param name="nextTree">Method which will be used for getting tree nodes.</param> /// <param name="lexer">Source of parsed tokens.</param> public LanguageLayouts(GetNextTree nextTree, ILexer lexer) { _nextTree = nextTree; _lexer = lexer; }