package parser import ( "code.osinet.fr/fgm/waiig15/ast" "code.osinet.fr/fgm/waiig15/token" ) func (p *Parser) parseExpression(precedent int) ast.Expression { prefix := p.prefixParseFns[p.curToken.Type] if prefix == nil { return nil } leftExp := prefix() return leftExp } func (p *Parser) parseExpressionStatement() *ast.ExpressionStatement { stmt := &ast.ExpressionStatement{ Token: p.curToken, } stmt.Expression = p.parseExpression(LOWEST) // Semicolons are optional to help use REPL input. if p.peekTokenIs(token.SEMICOLON) { p.nextToken() } return stmt }