Compilateur basic (on calc)
Posté le 20/02/2012 10:31
bonjour je viens de créer un compilateur basic (a partir des str et des Fmem) il est un peu longt (1252O sur 35+) je vous donne la source et vous me dites des idées en +
''-->recuperer la fleche vers le bas<--
''->Str 7
Cls
Text 1,1,''Extraction de la chaine''
Exp>Str(Fn5,Str 1)
Text 1, 117,''OK''
Str 1->Str 4
'...................................................
Text 8,1,''Reduction des doubles retours''
StrSrc(Str 4,StrJoin(Str 7,Str 7))->A
If A
Then
StrLeft(Str 4,A-1)->Str 2
StrShift(Str 4,A)->Str 3
If StrSrc(Str 4,StrJoin(Str 7,Str 7))=1
Then StrJoin(Str 2,'''')->Str 4
Else StrJoin(Str 2,Str 3)->Str 4
IfEnd
IfEnd
While StrSrc(StrRight(Str 4,1),'' '')
StrLeft(Str 4,StrLen(Str4)-1)->Str 4
WhileEnd
LpWhile StrSrc(Str4,StrJoin(Str 7,Str 7))
Text 7,117,''OK''
'..........................................................
Text 16,1,''\''Retour\" devient \'':\'' ''
0->U
Do
StrSrc(Str 4,A-1)->Str 2
StrShift(Str 4,A)->Str 3
StrJoin(Str 2,'':'')->Str 2
If StrSrc(Str 3,Str 7)=1
Then StrJoin(Str 2,'':'')->Str 4
Else
StrJoin(Str 2,Str 3)->Str 4
IfEnd
U+1->U
While StrSrc(StrRight(Str 4,1),'' '')
StrLeft(Str 4,StrLen(Str 4)-1)->Str 4
WhileEnd
Text 16,115,U
LpWhile StrSrc(Str 4,Str 7)
Txex 16,115,'' ''
Text 16,117,''OK''
'.............................................
While StrSrc(StrRight(Str4,1),'' '')
StrLeft(Str 4,StrLen(Str 4)-1)->Str 4
WhileEnd
''[DISP]
''->Str 6
StrSrc(Str 4,StrJoin(Str 6,'':''))->A
If A
Then StrLeft(Str 4,A-1)->Str 2
StrShift(Str 4,A+1)->Str 3
StrJoin(Str 2,Str 6)->Str 2
StrJoin(Str 2,Str 3)->Str 4
IfEnd
'.....................FIN...........
StrLeft(Str 4,StrLen(Str 4)-1)->Str 4
Locate 1,5,''DE''
Locate 4,5, StrLen(Str 1)
Locate 8,5,''A''
Locate 10,5,StrLen(Str 4)
Locate 14,5,''Octets''
Str 4->Fn 6
Locate 1,7,''Le resultat est dans Fn6''
Ps:(Si vous etes suicidaires) qui pourrait me faire un Fxi (je n'ai pas de cable)
Edit:
J'ai remis les guillemets