comparison ast/Exp.d @ 119:c0b531362ca6

Non compileing commit. Work on floating points and casts
author Anders Johnsen <skabet@gmail.com>
date Sun, 25 May 2008 19:13:07 +0200
parents 3a0cd42de9cc
children 6a5f745d351c
comparison
equal deleted inserted replaced
118:54585ad7e426 119:c0b531362ca6
8 8
9 import lexer.Token; 9 import lexer.Token;
10 10
11 import sema.Scope, 11 import sema.Scope,
12 sema.DType; 12 sema.DType;
13
14 import basic.LiteralParsing;
13 15
14 enum ExpType 16 enum ExpType
15 { 17 {
16 Binary, 18 Binary,
17 Negate, 19 Negate,
312 Exp simplify() 314 Exp simplify()
313 { 315 {
314 return this; 316 return this;
315 } 317 }
316 318
317 override DType type() { return DType.Int; } 319 override DType type()
320 {
321 switch(number.type)
322 {
323 case NumberType.Int:
324 return DType.Int;
325 case NumberType.Long:
326 return DType.Long;
327 case NumberType.ULong:
328 return DType.ULong;
329 case NumberType.Double:
330 return DType.Double;
331 case NumberType.Real:
332 return DType.Real;
333 }
334 }
318 335
319 override SourceRange sourceRange() 336 override SourceRange sourceRange()
320 { 337 {
321 return range; 338 return range;
322 } 339 }
340
341 Number number;
323 342
324 char[] name; 343 char[] name;
325 private SourceRange range; 344 private SourceRange range;
326 } 345 }
327 346