Exemplo n.º 1
0
 public SyntaxTree(SyntaxTreeType type, List <Token> treeTokens, SyntaxTree parent = null, string startLine = "", string endLine = "")
 {
     Type      = type;
     Tokens    = treeTokens;
     Parent    = parent;
     StartLine = startLine;
     EndLine   = endLine;
     Children  = new List <SyntaxTree>();
 }
Exemplo n.º 2
0
        private SyntaxTree GetChildSyntaxTree(
            SyntaxTreeType treeType, int tokenIndex, TokenType startTokenType, TokenType stopTokenType)
        {
            var treeTokens = new List <Token>();

            for (var i = tokenIndex + 1; i < Tokens.Count; i++)
            {
                var token = Tokens[i];
                if (token.TokenType == stopTokenType)
                {
                    return(new SyntaxTree(treeType, treeTokens, this,
                                          Token.DefaultStringForTokenTypes[startTokenType], Token.DefaultStringForTokenTypes[stopTokenType]));
                }
                treeTokens.Add(token);
            }
            return(new SyntaxTree(SyntaxTreeType.Text, treeTokens, this, Token.DefaultStringForTokenTypes[startTokenType]));
        }