Simple dereference syntax has been added, which makes the use of the
[sixpic.git] / TODO
blobddb5eea936b8bbf5ab9e97b6ea24074019e95a0e
1 finish parser
2 add pointers
3 add main
4 forward declarations
5 optimize stuff like : bra $4, 4: (jump to the next line)
6 eliminate dead code after branches before next label (should be generated at all, surprising, but look at asm from test6, label $5 has a return after a bra $4)
9 pour avoir comparaison d'egalite avec cste, load cste dans wreg, et CPFSEQ
10 TODO verifier si je l'ai pas deja ajoute
13 += is not supported, so probably neither are his brothers
16 postinc/dec in an expression does not work (sigma example had res = res + n--, gave the decremented value)
18 avoir suite de tests (entre autres, tous les types de conditions)
20 add support for pointer types parsing in six
22 pour l'instant, faire marcher declarations de tableaux avec taille fixe (i.e. int b[3]), devrait etre assez, su moins pour le moment (ou p-e meme pour picobit au complet)
24 six.index should behave correctly if used in the lhs of an assignment
26 simulator does not support byte-to-byte, whatever that is NEEDED FOR MOVFF (avoir movff)
28 voir si en C, on peut caster de int vers byte, par exemple
30 faire marcher les < et > sur plusieurs bytes
32 elimination de tests sur relations avec juste des literaux : 0 > 1
34 voir si un fonction qui prend un int, a qui on donne un byte marche convenablement
35 aussi, voir si casts explicites peuvent marcher commedu monde
38 tableaux
39 var SIXPIC_MEMORY_DIVIDE : a partir de cette adresse, la memoire est geree par l'usager
42 see test 21, implicit return at the end cannot return array assignations, so array assignations cannot be the last statement, bug ?
47 reconnait si on pre/post inc/dec vars speciales FSRx et on utilise POSTINC0 et cie
48 PICOBIT : ajouter bignums (voir code marc), ca fait une contribution
49 switchs en tables
50 compiler picobit petit bout par petit bout pour voir ou on peut ameliorer
52 binums dans picobit : 0 = 16 bits de 0 et pointeur vers 16 bits de 0, objet qq part en memoire, ca donne suite infinie de 0
53 -1 est meme chose avec juste des 1, -2 est 111..10 et pointeur vers -1, donc ca fait 0 avec infinite de -1, on arrete algos quand les 2 vals sont a 0 ou -1
54 p-e avoir un tableau qu ipointe vers -1...10 alloues en permanence, ou p-e avoir 2 espaces de 1 objet pour mettre les operandes en objets d'une primitive, qu'on genere on the fly, voir code marc
56 p-e autre chose, j'ai le feeling d'avoir oublie de quoi
59 there is a way to put a var in FSR0, but any regular table access would overwrite it, watch out
61 if a special FSR var, only SIXPIC_FSRX[0] makes any sense, since the address should already be good
62 use simple dereference (*) syntax instead, to avoir confusion
64 SYNTAX DE DEREF MARCHE DANS SIX, utiliser
66 simplifier assignation sur dereference pour utiliser nouvelle version de array-base-name quand array-ref va etre un operateur, pas un cas particulier de syntaxe
67 merger les 2 syntaxes