home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 19 / AACD19.BIN / AACD / Programming / YAEC / testsrc / test.e < prev    next >
Encoding:
Text File  |  2001-02-23  |  2.3 KB  |  130 lines

  1. OPT LINKOBJ
  2. -> This is compiling and working :)
  3. -> does nothing useful, just for testing compiler feautures.
  4.  
  5. EXTERN dos
  6.  
  7. CONST DELAY=100
  8. ENUM AA, BB, CC
  9. SET S1, S2, S3
  10.  
  11. IMPORT DEF llbert, illbert:PTR TO LONG, hej:PTR TO INT
  12.  
  13.  
  14. #define NISSE
  15.  
  16. #define MUSSE(y, x, z) (IF (x) THEN (z)+(y) ELSE (y))
  17.  
  18. #define LASSE(x, y) (IF x ) \
  19. (THEN MUSSE(x, y, 7) ELSE 10)
  20.  
  21.  
  22. /* objects can be defined, but not used..yet */
  23. OBJECT anna
  24.    xxx:CHAR
  25.    yyy:INT
  26.    fff[122]:ARRAY OF CHAR
  27. ENDOBJECT
  28.  
  29. OBJECT anna2 OF anna
  30.    ggg
  31. ENDOBJECT
  32.  
  33. OBJECT sune
  34.    xxx
  35.    yyy:INT
  36.    zzz:CHAR
  37. ENDOBJECT
  38.  
  39. EXPORT PROC mupp()
  40.    DEF a=98, str[100]:STRING, b:anna
  41.    Delay(DELAY)
  42.    a := FastNew(100)
  43.    FastDispose(a, 100)
  44.    a := New(100)
  45.    Dispose(a)
  46.    a := String(1000)
  47.    a := List(10000)
  48.    IF (a := NEW [TRUE, a OR (100/7)*6]:LONG) = NIL THEN Raise(10)
  49.    a := LASSE(a, 12)
  50. EXCEPT DO
  51.    a := StrCmp(a, str)
  52.    a := StrCmp(a, str, 13)
  53. ENDPROC
  54.  
  55. PROC laban(uuu:PTR TO INT, iiiiiq8344aMUV)
  56.    DEF nisse
  57.    DEF musse:anna2
  58.    DEF uierw
  59.  
  60.    IF (1+8) = 9 THEN Close(9)
  61.  
  62.    musse.xxx := `IF Char(musse.ggg) THEN banan(75) ELSE sverre()
  63.  
  64.    REPEAT
  65.    LOOP
  66.       LOOP 12 DO IF Close("ABcD") THEN nisse := Open(13, 5)
  67.       IF uuu[12]++ THEN sverre()
  68.    ENDLOOP
  69.       IF nisse=67
  70.          nisse := 9
  71.       ELSEIF sverre() > 78
  72.          nisse := 90
  73.       ELSE
  74.          IF nisse
  75.             sverre()
  76.             nisse++
  77.          ENDIF
  78.       ENDIF
  79.    UNTIL nisse
  80.  
  81.    laban([1, [TRUE ,musse ]:sune ,
  82.                         Long(sverre())
  83.                        ],
  84.    ,
  85.    banan (
  86.     nisse)
  87.     )
  88.  
  89.    ASM
  90.       move.l (a0), d0
  91.       addq.l #3, d0
  92.    ENDASM
  93.  
  94.    nisse := D0
  95.  
  96.    A1 := D0
  97.  
  98.    A1 := nisse
  99.  
  100.    SELECT nisse
  101.    CASE 12, 56, "a"
  102.       nisse := laban(IF musse=7 THEN musse=10 ELSE 8 , NEW 'blah')
  103.    CASE sverre()
  104.       ASM jsr (a0)  -> do some asm man!
  105.       nisse[]-- := sverre()
  106.       nisse := laban(musse<>sverre(), musse=9)
  107.    DEFAULT
  108.       FOR nisse := 0 TO 5=5
  109.          WHILE nisse[(100/7)*6]--
  110.             PutInt(sverre(), 15)
  111.             WHILE sverre() = musse
  112.                FOR nisse := musse TO sverre() DO laban('hejhejs\n', llbert)
  113.             ENDWHILE
  114.          /* comment */
  115.  
  116.              FOR  musse := 0 TO IF sverre() THEN 10 ELSE 5 DO banan(musse)
  117.          ENDWHILE
  118.       ENDFOR
  119.    ENDSELECT
  120.  
  121.  
  122. ENDPROC musse=10
  123.  
  124. PROC banan(hej)
  125. ENDPROC 10
  126.  
  127. PROC sverre()
  128. ENDPROC
  129.  
  130.