use of st.gravel.support.compiler.ast.SequenceNode in project gravel by gravel-st.
the class IntermediateNodeRewriter method produce_whileFalse_.
public WhileFalseNode produce_whileFalse_(final Expression _testExpr, final Expression _loopExpr) {
final BlockNode _testBlockNode;
final BlockNode _loopBlockNode;
if (!_testExpr.isBlockNode()) {
return null;
}
if (!_loopExpr.isBlockNode()) {
return null;
}
_testBlockNode = ((BlockNode) _testExpr);
_loopBlockNode = ((BlockNode) _loopExpr);
return WhileFalseNode.factory.testSequence_doSequence_(((SequenceNode) this.visit_(_testBlockNode.body())), ((SequenceNode) this.visit_(_loopBlockNode.body())));
}
use of st.gravel.support.compiler.ast.SequenceNode in project gravel by gravel-st.
the class IntermediateNodeRewriter method produce_to_do_.
public ToDoNode produce_to_do_(final Expression _start, final Expression _stop, final Expression _loopExpr) {
final BlockNode _loopBlockNode;
if (!_loopExpr.isBlockNode()) {
return null;
}
_loopBlockNode = ((BlockNode) _loopExpr);
return ToDoNode.factory.start_stop_step_counterName_doSequence_(((Expression) this.visit_(_start)), ((Expression) this.visit_(_stop)), IntegerLiteralNode.factory.integer_(((java.math.BigInteger) java.math.BigInteger.ONE)), _loopBlockNode.arguments()[0].name(), ((SequenceNode) this.visit_(_loopBlockNode.body())));
}
use of st.gravel.support.compiler.ast.SequenceNode in project gravel by gravel-st.
the class IntermediateNodeRewriter method produce_and_.
public BooleanAndNode produce_and_(final Node _receiver, final Expression _testExpr) {
final BlockNode _testBlockNode;
if (!_testExpr.isBlockNode()) {
return null;
}
_testBlockNode = ((BlockNode) _testExpr);
return BooleanAndNode.factory.left_right_(((Expression) this.visit_(_receiver)), ((SequenceNode) this.visit_(_testBlockNode.body())));
}
use of st.gravel.support.compiler.ast.SequenceNode in project gravel by gravel-st.
the class IntermediateNodeRewriter method produce_whileTrue_.
public WhileTrueNode produce_whileTrue_(final Expression _testExpr, final Expression _loopExpr) {
final BlockNode _testBlockNode;
final BlockNode _loopBlockNode;
if (!_testExpr.isBlockNode()) {
return null;
}
if (!_loopExpr.isBlockNode()) {
return null;
}
_testBlockNode = ((BlockNode) _testExpr);
_loopBlockNode = ((BlockNode) _loopExpr);
return WhileTrueNode.factory.testSequence_doSequence_(((SequenceNode) this.visit_(_testBlockNode.body())), ((SequenceNode) this.visit_(_loopBlockNode.body())));
}
use of st.gravel.support.compiler.ast.SequenceNode in project gravel by gravel-st.
the class IntermediateNodeRewriter method produce_to_by_do_.
public ToDoNode produce_to_by_do_(final Expression _start, final Expression _stop, final Expression _step, final Expression _loopExpr) {
final BlockNode _loopBlockNode;
if (!_loopExpr.isBlockNode()) {
return null;
}
if (!_step.isIntegerLiteralNode()) {
return null;
}
_loopBlockNode = ((BlockNode) _loopExpr);
return ToDoNode.factory.start_stop_step_counterName_doSequence_(((Expression) this.visit_(_start)), ((Expression) this.visit_(_stop)), ((Expression) this.visit_(_step)), _loopBlockNode.arguments()[0].name(), ((SequenceNode) this.visit_(_loopBlockNode.body())));
}
Aggregations