1234567891011121314151617181920212223242526272829303132333435 |
- package ast
- import (
- "bytes"
- "code.osinet.fr/fgm/waiig15/token"
- )
- // ExpressionStatement fulfills the Node and Statement interfaces.
- // It represents a prefixed expression like:
- // "-5;"
- type PrefixExpression struct {
- Token token.Token
- Operator string
- Right Expression
- }
- // String satisfies the Node and fmt.Stringer interfaces.
- func (pe *PrefixExpression) String() string {
- var out bytes.Buffer
- out.WriteString("(")
- out.WriteString(pe.Operator)
- out.WriteString(pe.Right.String())
- out.WriteString(")")
- return out.String()
- }
- func (pe *PrefixExpression) expressionNode() {}
- // TokenLiteral satisfies the Node interface.
- func (pe *PrefixExpression) TokenLiteral() string {
- return pe.Token.Literal
- }
|