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 >))
bool IsSpaceBefore (int li)
void CheckForSpace (bool expectSpace, string errorMsg)
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)

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

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().