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); }
private void GenerateStandardOutputStatementCode(StringBuilder builder, StandardOutputStatementNode standardOutputStatement) { builder.Append("console.log("); GenerateExpressionCode(builder, standardOutputStatement.Expression); builder.Append(");"); }
private void AnalyzeStandardOutputStatement(StandardOutputStatementNode standardOutput) { AnalyzeExpression(standardOutput.Expression); }