Enhanced C#
Language of your choice: library documentation
Properties | Public Member Functions | Protected Member Functions | Protected fields | Protected static fields | List of all members
Loyc.Syntax.Les.Les3Parser Class Reference

Source files:
Inheritance diagram for Loyc.Syntax.Les.Les3Parser:
Loyc.Syntax.BaseParserForList< Token, int >

Properties

new IMessageSink ErrorSink [get, set]
 

Public Member Functions

 Les3Parser (IList< Token > list, ISourceFile file, IMessageSink sink, int startIndex=0)
 
void Reset (IList< Token > list, ISourceFile file, int startIndex=0)
 
IEnumerable< LNodeStart (Holder< TokenType > separator)
 Top-level rule: expects a sequence of statements followed by EOF More...
 
LNodeList ExprList (string listContextName, LNode firstItem=null, bool presumeCommaSeparated=true)
 
LNodeList ExprList (string listContextName, ref TokenType separatorType, LNode firstItem=null, bool presumeCommaSeparated=true, bool isBracedBlock=false)
 
IEnumerable< LNodeExprListLazy (Holder< TokenType > separatorType)
 

Protected Member Functions

override void Reset (IList< Token > list, Func< Token, Token > getEofToken, int eof, ISourceFile file, int startIndex=0)
 
override string ToString (int type)
 
virtual LNode MarkSpecial (LNode n)
 
virtual LNode MarkCall (LNode n)
 
LNode MissingExpr (Token tok, string error=null, bool afterToken=false)
 
Precedence PrefixPrecedenceOf (Token t)
 
LNode CompactExpression (ref TokenType separatorType)
 
LNode NextExpression (ref TokenType separatorType, out Token trailingSeparator, bool isBracedBlock)
 
LNode TopExpr (bool compactMode)
 

Protected fields

Les3PrecedenceMap _precMap = Les3PrecedenceMap.Default
 

Protected static fields

const new TT EOF = TT.EOF
 

Member Function Documentation

◆ Start()

IEnumerable<LNode> Loyc.Syntax.Les.Les3Parser.Start ( Holder< TokenType >  separator)
inline

Top-level rule: expects a sequence of statements followed by EOF

Parameters
separatorIf there are multiple expressions, the Value of this Holder is set to the separator between them: Comma or Semicolon.

Referenced by Loyc.Syntax.Les.Les3LanguageService.Parse().