You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.2 KiB
37 lines
1.2 KiB
2 years ago
|
/*
|
||
|
* @(#)Expression.java 2.1 2003/10/07
|
||
|
*
|
||
|
* Copyright (C) 1999, 2003 D.A. Watt and D.F. Brown
|
||
|
* Dept. of Computing Science, University of Glasgow, Glasgow G12 8QQ Scotland
|
||
|
* and School of Computer and Math Sciences, The Robert Gordon University,
|
||
|
* St. Andrew Street, Aberdeen AB25 1HG, Scotland.
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* This software is provided free for educational use only. It may
|
||
|
* not be used for commercial purposes without the prior written permission
|
||
|
* of the authors.
|
||
|
*/
|
||
|
|
||
2 years ago
|
package triangle.abstractSyntaxTrees.expressions;
|
||
2 years ago
|
|
||
2 years ago
|
import triangle.abstractSyntaxTrees.AbstractSyntaxTree;
|
||
|
import triangle.abstractSyntaxTrees.types.TypeDenoter;
|
||
|
import triangle.abstractSyntaxTrees.visitors.ExpressionVisitor;
|
||
|
import triangle.syntacticAnalyzer.SourcePosition;
|
||
2 years ago
|
|
||
2 years ago
|
public abstract class Expression extends AbstractSyntaxTree {
|
||
2 years ago
|
|
||
2 years ago
|
public Expression(SourcePosition position) {
|
||
|
super(position);
|
||
2 years ago
|
type = null;
|
||
|
}
|
||
2 years ago
|
|
||
2 years ago
|
public TypeDenoter type;
|
||
2 years ago
|
|
||
|
public abstract <TArg, TResult> TResult visit(ExpressionVisitor<TArg, TResult> visitor, TArg arg);
|
||
|
|
||
|
public <TArg, TResult> TResult visit(ExpressionVisitor<TArg, TResult> visitor) {
|
||
|
return visit(visitor, null);
|
||
|
}
|
||
2 years ago
|
}
|