Exemple #1
0
        public StatementNode ParseStandardOutputStatement(List <Token> tokens)
        {
            if (tokens.Count <= 1 || tokens.ElementAt(0).Type != TokenType.StandardOutput)
            {
                throw new CobaltSyntaxError($"Ivalid standard output statement.", tokens.First().SourceLine, tokens.First().PositionOnLine);
            }

            // Parse expression
            ExpressionNode expression = ParseExpression(tokens.GetRange(1, tokens.Count - 1));

            // Create and return output statement node
            StandardOutputStatementNode statement = new StandardOutputStatementNode(tokens.First().SourceLine);

            statement.Expression = expression;
            return(statement);
        }
Exemple #2
0
 private void GenerateStandardOutputStatementCode(StringBuilder builder, StandardOutputStatementNode standardOutputStatement)
 {
     builder.Append("console.log(");
     GenerateExpressionCode(builder, standardOutputStatement.Expression);
     builder.Append(");");
 }
Exemple #3
0
 private void AnalyzeStandardOutputStatement(StandardOutputStatementNode standardOutput)
 {
     AnalyzeExpression(standardOutput.Expression);
 }