public override void visit(SyntaxTree.hex_constant _hex_constant) { expression_node en = null; if (_hex_constant.val <= Int32.MaxValue && _hex_constant.val >= Int32.MinValue) en = new int_const_node((int)_hex_constant.val, get_location(_hex_constant)); else en = new long_const_node(_hex_constant.val, get_location(_hex_constant)); return_value(en); }
private void VisitLongConstNode(long_const_node expr) { bw.Write(expr.constant_value); }
public override void visit(SyntaxTree.int64_const int64) { expression_node en = new long_const_node(int64.val, get_location(int64)); switch (motivation_keeper.motivation) { case motivation.address_reciving: throw new CompilerInternalError("Addres reciving from constant"); break; case motivation.expression_evaluation: return_value(en); break; case motivation.semantic_node_reciving: return_semantic_value(en); break; } //return_value(en); return; }