Преглед на файлове

Parsing Return Statement--AST

runningwater преди 3 години
родител
ревизия
fb05623fd6
променени са 1 файла, в които са добавени 14 реда и са изтрити 0 реда
  1. 14 0
      ast/ast.go

+ 14 - 0
ast/ast.go

@@ -82,3 +82,17 @@ func (i *Identifier) expressionNode() {
 func (i *Identifier) TokenLiteral() string {
 	return i.Token.Literal
 }
+
+// return <expression>;
+type ReturnStatement struct {
+	Token       token.Token // the token.RETURN
+	returnValue Expression
+}
+
+func (rs *ReturnStatement) TokenLiteral() string {
+	return rs.Token.Literal
+}
+
+func (rs *ReturnStatement) statementNode() {
+	panic("implement me")
+}