Home | History | Annotate | Download | only in c2hal

Lines Matching refs:Expression

17 #include "Expression.h"
32 Expression::Type Expression::integralType(std::string integer) {
54 Expression::Type Expression::coalesceTypes(Type lhs, Type rhs) {
82 struct ParenthesizedExpression : Expression {
83 ParenthesizedExpression(Expression* inner)
97 Expression* mInner;
102 struct AtomExpression : Expression {
133 struct UnaryExpression : Expression {
134 UnaryExpression(std::string op, Expression* rhs)
150 Expression* mRhs;
155 struct BinaryExpression : Expression {
156 BinaryExpression(Expression *lhs, std::string op, Expression* rhs)
172 Expression* mLhs;
174 Expression* mRhs;
179 struct TernaryExpression : Expression {
180 TernaryExpression(Expression *lhs, Expression *mhs, Expression* rhs)
197 Expression* mLhs;
198 Expression* mMhs;
199 Expression* mRhs;
204 struct ArraySubscript : Expression {
205 ArraySubscript(std::string id, Expression* subscript)
221 Expression* mSubscript;
226 struct FunctionCall : Expression {
227 FunctionCall(std::string id, std::vector<Expression *> *args)
260 std::vector<Expression *> *mArgs;
265 Expression *Expression::parenthesize(Expression *inner) {
269 Expression *Expression::atom(Type type, const std::string &value, bool isId) {
273 Expression *Expression::unary(std::string op, Expression *rhs) {
277 Expression *Expression::binary(Expression *lhs, std::string op, Expression *rhs) {
281 Expression *Expression::ternary(Expression *lhs, Expression *mhs, Expression *rhs) {
285 Expression *Expression::arraySubscript(std::string id, Expression *subscript) {
289 Expression *Expression::functionCall(std::string id, std::vector<Expression *> *args) {