1 package tinybasic;
2 import antlr.collections.AST;
3 
4 public abstract class DTDataType  {
5 
6     protected Scope scope;
7     protected int theType;
8     protected static int INT_VAR	=   TinyBasicTokenTypes.INT_VAR;
9     protected static int FLT_VAR	=   TinyBasicTokenTypes.FLT_VAR;
10     protected static int STR_VAR	=   TinyBasicTokenTypes.STR_VAR;
11     protected static int INT_CONST	=   TinyBasicTokenTypes.INT_CONST;
12     protected static int FLT_CONST	=   TinyBasicTokenTypes.FLT_CONST;
13     protected static int STR_CONST	=   TinyBasicTokenTypes.STR_CONST;
14 
DTDataType(Scope scope,int _ttype)15     public DTDataType(Scope scope,int _ttype){
16 	this.scope=scope;
17 	theType=_ttype;
18     }
19 
getType()20     public int getType(){
21 	return theType;
22     }
23 
getInteger()24     public int	    getInteger	()	{ return 12345; }
getFloat()25     public double   getFloat	()	{ return 12345.0;}
getString()26     public String   getString	()	{ return null; }
27 
setInteger(DTDataType tbd)28     public void setInteger  (DTDataType tbd){setInteger	(tbd.getInteger	());}
setFloat(DTDataType tbd)29     public void setFloat    (DTDataType tbd){setFloat	(tbd.getFloat	());}
setString(DTDataType tbd)30     public void setString   (DTDataType tbd){setString	(tbd.getString	());}
31 
setInteger(int i)32     public void setInteger  (int    i){}
setFloat(double d)33     public void setFloat    (double d){}
setString(String s)34     public void setString   (String s){}
35 
getDTDataType(DTDataType i1)36     public DTDataType getDTDataType(DTDataType i1){return null;}
getDTDataType(DTDataType i1,DTDataType i2)37     public DTDataType getDTDataType(DTDataType i1,DTDataType i2){return null;}
getDTDataType(DTDataType i1,DTDataType i2,DTDataType i3)38     public DTDataType getDTDataType(DTDataType i1,DTDataType i2,DTDataType i3){return null;}
39 
40 
setDTDataType(DTDataType i1,DTDataType s)41     public void setDTDataType(DTDataType i1,DTDataType s){}
setDTDataType(DTDataType i1,DTDataType i2,DTDataType s)42     public void setDTDataType(DTDataType i1,DTDataType i2,DTDataType s){}
setDTDataType(DTDataType i1,DTDataType i2,DTDataType i3,DTDataType s)43     public void setDTDataType(DTDataType i1,DTDataType i2,DTDataType i3,DTDataType s){}
44 
assign(DTDataType tbd)45     public void assign(DTDataType tbd){}
46 
getDimension()47     public int getDimension(){return 0;}
48 
getDimensioned(int i)49     public int getDimensioned(int i){return 0;}
50 
multiply(DTDataType other)51     public DTDataType multiply(DTDataType other) { return null;}
divide(DTDataType other)52     public DTDataType divide(DTDataType other) { return null;}
add(DTDataType other)53     public DTDataType add(DTDataType other) { return null;}
subtract(DTDataType other)54     public DTDataType subtract(DTDataType other) { return null;}
mod(DTDataType other)55     public DTDataType mod(DTDataType other) { return null;}
round(DTDataType other)56     public DTDataType round(DTDataType other) { return null;}
truncate(DTDataType other)57     public DTDataType truncate(DTDataType other) { return null;}
58 
getOne()59     protected DTDataType getOne(){
60 	return getOne(theType,scope);
61     }
62 
getOne(int aType,Scope scope)63     public static DTDataType getOne(int aType,Scope scope){
64 	if	    ( aType==INT_CONST    ){
65 		    return new DTInteger(scope,0);
66 	} else if   ( aType==INT_VAR	    ){
67 		    return new DTInteger(scope,0);
68 	} else if   ( aType==FLT_CONST    ){
69 		    return new DTFloat	(scope,0.0);
70 	} else if   ( aType==FLT_VAR	    ){
71 		    return new DTFloat	(scope,0.0);
72 	} else if   ( aType==STR_CONST    ){
73 		    return new DTString	(scope,"");
74 	} else if   ( aType==STR_VAR	    ){
75 		    return new DTString	(scope,"");
76 	}
77 	return null;
78 
79 
80     }
81 
getOne(DTDataType s)82     protected DTDataType getOne(DTDataType s){
83 	DTDataType t=getOne();
84 	t.assign(s);
85 	return t;
86     }
87 
cloneDTDataType()88     public DTDataType cloneDTDataType()
89 	{
90 	    return getOne(this);
91 	}
92 
setDimension(int i1)93     public void setDimension(int i1){
94     }
setDimension(int i1,int i2)95     public void setDimension(int i1,int i2){
96     }
setDimension(int i1,int i2,int i3)97     public void setDimension(int i1,int i2,int i3){
98     }
99 
compareTo(Object o)100     public abstract int compareTo(Object o);
101 
attach(DTDataType theBoss)102     public void attach(DTDataType theBoss){}
103 
104 }
105