ccebinger / SWPSoSe14

2 stars 1 forks source link

'?' type check command into Bytecode #190

Closed Zelldon closed 10 years ago

Zelldon commented 10 years ago

'?' Type? (a -- b) Returns 'string' or 'nil' or 'list' or 'lambda', depending on the type of the argument. Pre: Post: is_string(b)

kretzschi commented 10 years ago

@s0taka sitzt du da z.Z. dran ?

vincentbohlen commented 10 years ago

Mehr oder weniger. Habe vergessen mich rauszunehmen, nachdem du meintest, du wüsstest wies geht. Wenn du magst, können wir das auch zusammen machn. Musst mich nur briefen, wie du den typecheck benutzen willst.

kretzschi commented 10 years ago

Im Prinzip gibt es zwei Möglichkeiten.

  1. Wir prüfen auf instanceof und geben dann den jeweiligen Typ zurück (wäre ein switch, aber ekelhaft zu bauen)
  2. Wir nehmen getClass() müssen aber die Ausgabe evtl umbiegen (weil die Methode ja sowas wie "class java.lang.String" zurück gibt)
Zelldon commented 10 years ago
  1. Waere sicher besser musste ja dann nur String.replace("java.lang.", "") machen
kretzschi commented 10 years ago

Japp, das meinte ich. Aber vielleicht steht Vincent ja aufs branchen xD. getClass() müsste auch schon im CP sein, sofern ich es nicht wieder rausgenommen habe.

vincentbohlen commented 10 years ago

Wollen wir uns einfach morgen (12-14?) oder Freitag zusammensetzen und das machen? Ich habe jetzt in der Zwischenzeit angefangen die Abschlusspräso vorzubereiten.

jdettlaff commented 10 years ago

Ist es korrekt dass hier kein assignee (mehr?) drin ist? Falls ja, gebt's mir.

kretzschi commented 10 years ago

Tschuldige, hab nicht mitbekommen, dass Vincent sich rausgenommen hat. Stehe jetzt korrekt drin.

kretzschi commented 10 years ago
 $'main'(--):
  \
   \
    \
     \-[Hallo]?o---1?o--n?o--n1:?o--1-2:?o\
                                          |
                                          /
               ---------------------------
              /
              |
              /
  #--[aL]--&----\
                |
                |
                \---?o--#

Ausgabe:

 string
 string
 nil
 list
 list
 lambda