Set import to public to expose to others importing this module
This commit is contained in:
parent
adc34cc4e4
commit
49227111da
|
@ -311,79 +311,12 @@ public class Variable : TypedEntity
|
|||
/* Code gen */
|
||||
}
|
||||
|
||||
public class Expression : Statement
|
||||
{
|
||||
import compiler.typecheck.core;
|
||||
/* TODO: Takes in symbol table? */
|
||||
public string evaluateType(TypeChecker typechecker, Container c)
|
||||
{
|
||||
/* TODO: Go through here evaluating the type */
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
this()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* TODO: Evalute this expression's type */
|
||||
}
|
||||
public import compiler.symbols.expressions;
|
||||
|
||||
|
||||
|
||||
/* TODO: Look into arrays later */
|
||||
public class StringExpression : Expression
|
||||
{
|
||||
private string ztring;
|
||||
|
||||
this(string ztring)
|
||||
{
|
||||
this.ztring = ztring;
|
||||
}
|
||||
}
|
||||
|
||||
public class OperatorExpression : Expression
|
||||
{
|
||||
/* Operator */
|
||||
private SymbolType operator;
|
||||
|
||||
this(SymbolType operator)
|
||||
{
|
||||
this.operator = operator;
|
||||
}
|
||||
}
|
||||
|
||||
public class UnaryOperatorExpression : OperatorExpression
|
||||
{
|
||||
private Expression exp;
|
||||
|
||||
this(SymbolType operator, Expression exp)
|
||||
{
|
||||
super(operator);
|
||||
this.exp = exp;
|
||||
}
|
||||
}
|
||||
|
||||
public class BinaryOperatorExpression : OperatorExpression
|
||||
{
|
||||
/* TODO: Take in operator */
|
||||
this(SymbolType operator, Expression lhs, Expression rhs)
|
||||
{
|
||||
super(operator);
|
||||
}
|
||||
}
|
||||
|
||||
public class NumberLiteral : Expression
|
||||
{
|
||||
private string numberLiteral;
|
||||
|
||||
/* TODO: Take in info like tyoe */
|
||||
this(string numberLiteral)
|
||||
{
|
||||
this.numberLiteral = numberLiteral;
|
||||
}
|
||||
}
|
||||
|
||||
public class VariableAssignment
|
||||
{
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
module compiler.symbols.expressions;
|
||||
|
||||
import compiler.symbols.data;
|
||||
|
||||
/* TODO: Look into arrays later */
|
||||
public class StringExpression : Expression
|
||||
{
|
||||
private string ztring;
|
||||
|
||||
this(string ztring)
|
||||
{
|
||||
this.ztring = ztring;
|
||||
}
|
||||
}
|
||||
|
||||
public class OperatorExpression : Expression
|
||||
{
|
||||
/* Operator */
|
||||
private SymbolType operator;
|
||||
|
||||
this(SymbolType operator)
|
||||
{
|
||||
this.operator = operator;
|
||||
}
|
||||
}
|
||||
|
||||
public class UnaryOperatorExpression : OperatorExpression
|
||||
{
|
||||
private Expression exp;
|
||||
|
||||
this(SymbolType operator, Expression exp)
|
||||
{
|
||||
super(operator);
|
||||
this.exp = exp;
|
||||
}
|
||||
}
|
||||
|
||||
public class BinaryOperatorExpression : OperatorExpression
|
||||
{
|
||||
/* TODO: Take in operator */
|
||||
this(SymbolType operator, Expression lhs, Expression rhs)
|
||||
{
|
||||
super(operator);
|
||||
}
|
||||
}
|
||||
|
||||
public class NumberLiteral : Expression
|
||||
{
|
||||
private string numberLiteral;
|
||||
|
||||
/* TODO: Take in info like tyoe */
|
||||
this(string numberLiteral)
|
||||
{
|
||||
this.numberLiteral = numberLiteral;
|
||||
}
|
||||
}
|
||||
|
||||
public class Expression : Statement
|
||||
{
|
||||
import compiler.typecheck.core;
|
||||
/* TODO: Takes in symbol table? */
|
||||
public string evaluateType(TypeChecker typechecker, Container c)
|
||||
{
|
||||
/* TODO: Go through here evaluating the type */
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
this()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* TODO: Evalute this expression's type */
|
||||
}
|
Loading…
Reference in New Issue