Sida 4 av 4
Re: uPic Compiler
Postat: 27 maj 2011, 09:42:17
av Icecap
Vilket syntax och om det fungerar är en sak, det viktiga är att det inte framgår av källkoden att main upprepas om koden lämnar main.
Du kan kalla det "feature" eller vad du vill, det framgår inte tydligt när man läser källkoden och då kan det bli fel. Samtidig gör det koden extremt icke-portbar men det kanske är med flit?
Re: uPic Compiler
Postat: 27 maj 2011, 10:38:07
av AndLi
icecap: Vad ska det vara portbart till? Han uppfinner ett nytt språk (eller mixar ihop syntax från div språk). Vill man köra det på någon annan platform får man ju först utveckla en compilator för den platformen, och då får ju den också följa syntaxens egenheter.
Re: uPic Compiler
Postat: 27 maj 2011, 12:28:42
av Icecap
Nu kan det nog komma som en överraskning men det händer att folk t.ex. utvecklar ett program i BASIC och när de "slår i taket" och vill byta språk till ett vettigt språk är det inte ovanligt att man "översätter"/portar koden som faktisk fungerar, ser till att den fungerar i det nya språk och sedan jobbar vidare efter det.
Därför är det viktigt med denna funktionslikhet.
Jag har själv varit tvungen att göra denna konvertering ett par gångar, den värsta var då det var blandat 8052-BASIC med assembler och det fanns ett flertal fel i båda delar, det var en tung tid. Den kompiler TS gör har ett eget syntax och det är OK men att funktionen avviker så pass mycket är ett problem, dels om man skulle börja med TS' kompiler och sedan migrera till ett annat språk (t.ex. ett med en standard), då kommer denna egenhet att ställa till det och efter vad jag har förstådd var TS' ändamål att göra ett språk som har lägre inlärningströskel än t.ex. C.
Så det blir lite självmål om kompilern inte är lika med andra i funktionalitet.
Re: uPic Compiler
Postat: 28 maj 2011, 16:46:10
av DarkSilver
@ Icecap
Jag antar att du menade att det skulle framgå tydligt att main loopen var oändlig? Jo, det får man göra på något vettigt sätt, men det tar jag hand om senare. Just nu spelar det ingen vidare större roll. Om koden blir portbar till andra språk och kompilatorer är det en bonus, men det är inte en sak som jag siktar in mig på från början iaf.
När jag ändå är i farten:
Är det någon som har någon aning varför UDATA inte fungerar på 12F629, men UDATA_SHR? Följande kod fungerar inte
Kod: Markera allt
UDATA
vTemp res 3
vISR res 3
vMTmp res 2
vFTemp res 1
vDc res 1
vDc2 res 1
vDc3 res 1
men följande gör det
Kod: Markera allt
UDATA_SHR
vTemp res 3
vISR res 3
vMTmp res 2
vFTemp res 1
vDc res 1
vDc2 res 1
vDc3 res 1