36 |
STMT_LIST, |
STMT_LIST, |
37 |
STMT_BRANCH, |
STMT_BRANCH, |
38 |
STMT_LOOP, |
STMT_LOOP, |
39 |
|
STMT_SYNC, |
40 |
}; |
}; |
41 |
|
|
42 |
class Node { |
class Node { |
177 |
ArrayList<int> values; |
ArrayList<int> values; |
178 |
public: |
public: |
179 |
IntArrayVariable(ParserContext* ctx, int size); |
IntArrayVariable(ParserContext* ctx, int size); |
180 |
IntArrayVariable(ParserContext* ctx, int size, ArgsRef values); |
IntArrayVariable(ParserContext* ctx, int size, ArgsRef values, bool _bConst = false); |
181 |
void assign(Expression* expr) {} // ignore scalar assignment |
void assign(Expression* expr) {} // ignore scalar assignment |
182 |
String evalCastToStr() { return ""; } // ignore scalar cast to string |
String evalCastToStr() { return ""; } // ignore scalar cast to string |
183 |
ExprType_t exprType() const { return INT_ARR_EXPR; } |
ExprType_t exprType() const { return INT_ARR_EXPR; } |
496 |
bool isPolyphonic() const { return m_condition->isPolyphonic() || m_statements->isPolyphonic(); } |
bool isPolyphonic() const { return m_condition->isPolyphonic() || m_statements->isPolyphonic(); } |
497 |
}; |
}; |
498 |
|
|
499 |
|
class SyncBlock : public Statement { |
500 |
|
StatementsRef m_statements; |
501 |
|
public: |
502 |
|
SyncBlock(StatementsRef statements) : m_statements(statements) {} |
503 |
|
StmtType_t statementType() const { return STMT_SYNC; } |
504 |
|
void dump(int level = 0); |
505 |
|
Statements* statements() const; |
506 |
|
bool isPolyphonic() const { return m_statements->isPolyphonic(); } |
507 |
|
}; |
508 |
|
typedef Ref<SyncBlock,Node> SyncBlockRef; |
509 |
|
|
510 |
class Neg : public IntExpr { |
class Neg : public IntExpr { |
511 |
IntExprRef expr; |
IntExprRef expr; |
512 |
public: |
public: |