|  | @@ -4,7 +4,7 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #include "DataType.h"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#define ARRAY_NAME 30
 | 
	
		
			
				|  |  | +#define ARRAY_NAME 256
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  static int typeNameIndex = 0;
 | 
	
		
			
				|  |  |  static int typeNameSwap = 0;
 | 
	
	
		
			
				|  | @@ -88,9 +88,12 @@ DataType dtReference(DataType dt) {
 | 
	
		
			
				|  |  |      return dt;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -DataType dtDereference(DataType dt) {
 | 
	
		
			
				|  |  | -    dt.pointers++;
 | 
	
		
			
				|  |  | -    return dt;
 | 
	
		
			
				|  |  | +bool dtDereference(DataType* dt) {
 | 
	
		
			
				|  |  | +    if(dt->pointers == 15) {
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    dt->pointers++;
 | 
	
		
			
				|  |  | +    return false;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  bool dtCompare(DataType a, DataType b) {
 | 
	
	
		
			
				|  | @@ -98,14 +101,30 @@ bool dtCompare(DataType a, DataType b) {
 | 
	
		
			
				|  |  |             a.type == b.type;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -int dtMaxDimensions() {
 | 
	
		
			
				|  |  | -    return 15;
 | 
	
		
			
				|  |  | +bool dtIsInt(DataType dt) {
 | 
	
		
			
				|  |  | +    return dtCompare(dt, dtInt());
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +bool dtIsFloat(DataType dt) {
 | 
	
		
			
				|  |  | +    return dtCompare(dt, dtFloat());
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +bool dtIsBool(DataType dt) {
 | 
	
		
			
				|  |  | +    return dtCompare(dt, dtBool());
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +bool dtIsVoid(DataType dt) {
 | 
	
		
			
				|  |  | +    return dtCompare(dt, dtVoid());
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  bool dtIsPointer(DataType dt) {
 | 
	
		
			
				|  |  |      return dt.pointers > 0;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +bool dtIsVariable(DataType dt) {
 | 
	
		
			
				|  |  | +    return dt.type & 8;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  Struct* dtGetStruct(Structs* sts, DataType dt) {
 | 
	
		
			
				|  |  |      if(dt.type != DT_STRUCT) {
 | 
	
		
			
				|  |  |          return NULL;
 | 
	
	
		
			
				|  | @@ -118,10 +137,6 @@ DataType dtToVariable(DataType dt) {
 | 
	
		
			
				|  |  |      return dt;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -bool dtIsVariable(DataType dt) {
 | 
	
		
			
				|  |  | -    return dt.type & 8;
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  bool dtRemoveVariable(DataType* dt) {
 | 
	
		
			
				|  |  |      if(dtIsVariable(*dt)) {
 | 
	
		
			
				|  |  |          dt->type &= 7;
 |