DTArray1D.java
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:1k
源码类别:

编译器/解释器

开发平台:

Others

  1. package tinybasic;
  2. import java.lang.*;
  3. import antlr.collections.AST;
  4. public class DTArray1D extends DTDataType{
  5. private Object data[];
  6. protected int dim1;
  7. protected int base=0;
  8. public DTArray1D(int _ttype,Scope scope)
  9. {
  10. super(scope,_ttype);
  11. dim1=0;
  12. }
  13. protected void init(){
  14. data =new Object[dim1];
  15. }
  16. public DTDataType getDTDataType(DTDataType i1){
  17. int idx1=i1.getInteger()-base;
  18. if(dim1==0){
  19.     dim1=10;
  20.     init();
  21. }
  22. if(idx1>dim1){
  23.     return null;
  24. } else {
  25.     DTDataType t=(DTDataType)data[idx1];
  26.     if(t==null){
  27. data[idx1]=t=getOne();
  28.     }
  29.     return t;
  30. }
  31.     }
  32. public void setDTDataType(DTDataType i1,DTDataType s){
  33. int idx1=i1.getInteger()-base;
  34. if(dim1==0){
  35.     dim1=10;
  36.     init();
  37. }
  38. if(idx1>dim1){
  39.     //return null;
  40. } else {
  41.     DTDataType t=(DTDataType)data[idx1];
  42.     if(t==null){
  43. data[idx1]=getOne(s);
  44.     } else {
  45. t.assign(s);
  46.     }
  47. }
  48. }
  49. public int getDimension(){return 1;}
  50. public int getDimensioned(int i){
  51.     if(i==1){
  52. return dim1;
  53.     }
  54.     return 0;
  55. }
  56.     public void setDimension(int i1){
  57. dim1=i1;
  58. init();
  59.     }
  60.     public int compareTo(Object o){
  61. return 0;
  62.     }
  63. }