Enhanced C#
Language of your choice: library documentation
Public Member Functions | Protected Member Functions | Protected 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 >

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...
 
VList< LNodeExprList (VList< LNode > list=default(VList< LNode >))
 
void CheckForSpaceAtEndOfAttribute ()
 
bool IsContinuator (object ltv)
 
VList< LNodeExprList (ref TokenType endMarker, VList< LNode > list=default(VList< LNode >), bool isBracedBlock=false)
 
IEnumerable< LNodeExprListLazy (Holder< TokenType > endMarker)
 

Protected Member Functions

override void Reset (IList< Token > list, Token eofToken, 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 TopExpr ()
 

Protected fields

Les3PrecedenceMap _prec = Les3PrecedenceMap.Default
 
new const TT EOF = TT.EOF
 

Member Function Documentation

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.

References Loyc.Syntax.Precedence.CanMixWith(), Loyc.Syntax.Precedence.CanParse(), Loyc.Syntax.Lexing.Token.EndIndex, Loyc.Syntax.Les.Les2PrecedenceMap.Find(), Loyc.Syntax.LNode.Range, Loyc.Syntax.Lexing.Token.StartIndex, and Loyc.Syntax.Lexing.Token.Value.

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