uPic Compiler

Berätta om dina pågående projekt.
Användarvisningsbild
DarkSilver
Inlägg: 128
Blev medlem: 24 augusti 2010, 20:26:35
Ort: Linköping

uPic Compiler

Inlägg av DarkSilver »

Tjenare EF!

Här sitter jag nu och försöker bygga min egna kompilator för PIC processorer, både på grund av pengabrist och för att jag vill utmana mig själv med något nytt och kul. Idén om en egen kompilator kom till mig när jag, till min besvikelse, inte kunde hitta någon vettig högnivå kompilator till PIC som inte kostade skjortan(för en student) eller som fungerade som jag ville. Sen kan det ju bero på att jag är usel på att söka också :vissla:

Just nu finns det inte mycket att prata om, än mindre skryta om. Mycket av tiden just nu går åt till att läsa mycket litteratur om just kompilatorer, hur de kan vara uppbyggda och hur man kan optimistera dem. Det är mycket att ta till sig, men jag lär mig i alla fall mycket nytt hela tiden :) Det kommer att bli en spännande resa, där jag förhoppningsvis får lära mig mycket om assembler, C++ och kompilering! Det allra bästa vore ju om det till slut kom till nytta för någon :mrgreen:

Planen är att släppa programmet som Open Source när jag själv känner att det är moget nog för det. Innan dess kommer jag antagligen enbart släppa den kompilerade koden.

Att-göra listan:
  • Funktioner som kan returnera ett värde
  • Int16 och char variabler
  • Generera programminnes optimerad kod
  • USART, PWM, SPI, I2C o.s.v...
  • Stöd för flera processorer
  • IDE?
  • Optimera användandet av BANKSEL
  • Kommandorads gränssnitt
  • Open Source!
Det-som-är-gjort listan:
  • BASIC liknande syntax
  • Två stegs process som identifierar och analyserar koden
  • Variabelhantering(inga lokala än)
  • Kommentarer, både // och REM
  • Funktionshantering med parameters(enbart byte variabler och heltal upp till 255)
  • Identifiering av config och processor
  • Inline assembly fungerar nu med hjälp av <InStart> och <InEnd> taggarna
  • Två stycken bibliotek med funktioner med hjälp av #include ("bibliotek")
  • For ... To ... Next loopar
  • While ... EndWhile och Do ... DoWhile loopar
  • Break och continue satser för de olika sorters looparna
  • If ... Endif satser
  • += -= *= /= %= operatorer
  • &= |= ^= ~= bitwise operatorer
Idéer, förslag, kritik, och så vidare är varmt välkomnat!

Mvh, Dennis F.
Senast redigerad av DarkSilver 25 maj 2011, 17:38:03, redigerad totalt 18 gånger.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1353
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: uPic Compiler

Inlägg av baron3d »

Åhh så kul :)

Har du läst "Let's Build a Compiler" av Jack Crenshaw?

Kompilerar du till någn slags mellan kod först?
Användarvisningsbild
DarkSilver
Inlägg: 128
Blev medlem: 24 augusti 2010, 20:26:35
Ort: Linköping

Re: uPic Compiler

Inlägg av DarkSilver »

Nix, men jag får ta och kolla upp den boken :D Just nu plöjer jag igenom Compiler construction. 500+ sidor av kompilerings teori, kan det bli bättre? :badgrin:
Om man räknar assembler som mellan kod så ja. Som sagt så går den från mitt egna språk(ska likna C) ner till assembler. Därifrån används MPASMWIN för att konvertera assembler koden som genererats av uPic för att skapa HEX kod som kan programmeras över till processorn.

Tack för tipset!
Användarvisningsbild
cobree
Inlägg: 296
Blev medlem: 19 april 2009, 11:25:49
Ort: Lidköping vid Vänern
Kontakt:

Re: uPic Compiler

Inlägg av cobree »

Hej spännade, har du kollat in SDCC som har ett visst stöd
sneaky
Inlägg: 1621
Blev medlem: 22 juni 2009, 18:38:42

Re: uPic Compiler

Inlägg av sneaky »

Måste bara fråga vad det är som inte fungerar som du vill med de verktyg som Microchip själva tillhandahåller gratis?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: uPic Compiler

Inlägg av jesse »

Vilket programspråk ska kompilatorn arbeta med?
BASIC, fortran, java, cobol, pascal, ADA, forth, c, c++, Algol, Lisp, ... eller något annat ?

EDIT: du hann visst före: "...mitt egna språk(ska likna C)"

Spännande projekt! :)

Jag som trodde att kompilatorer för PIC var gratis att ladda ner :oops:
Användarvisningsbild
DarkSilver
Inlägg: 128
Blev medlem: 24 augusti 2010, 20:26:35
Ort: Linköping

Re: uPic Compiler

Inlägg av DarkSilver »

@cobree
Jo, jag hade en snabb koll på SDCC. Men jag tyckte helt enkelt inte om det jag såg. Det kan delvis skyllas på lathet från mitt håll, men också bristfällig dokumentation. Dessutom fick jag ju mig ett kul litet projekt som bonus för att inte använda SDCC.

@sneaky
Vilka syftar du på? Menar du deras eget C språk?
Som sagt, det är inte bara att jag inte gillar de andra kompilatorerna, jag vill ju testa mig själv och se vad jag kan göra. Plus, pengabrist + projekt som kostar pengar = hitt på nått annat :)

@jesse
Vissa kompilatorer är gratis att ladda ner, men de föll mig aldrig i smaken. Dessutom är det roligare ett göra eget och utmana sig själv lite ;)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46905
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: uPic Compiler

Inlägg av TomasL »

Visst är de gratis, de flesta i alla fall.
Användarvisningsbild
DarkSilver
Inlägg: 128
Blev medlem: 24 augusti 2010, 20:26:35
Ort: Linköping

Re: uPic Compiler

Inlägg av DarkSilver »

Visst finns det gratis kompilatorer, fast de flesta av dem är demo versioner av betalvarianter med, enligt mig, för stora begränsningar(se MikroElectronica serien).
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46905
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: uPic Compiler

Inlägg av TomasL »

Inte alls, MPASM är helt fri, uChips C-kompilator är gratis (dock försvinner vissa typer av optimeringar efter 60 dagar, men det kan faktiskt kvitta, eftersom det inte går att debugga optimerad kod).
FED-C är i princip helt gratis, kostar väl nån hundring om man vill ha en obegränsad kompilator.
Användarvisningsbild
DarkSilver
Inlägg: 128
Blev medlem: 24 augusti 2010, 20:26:35
Ort: Linköping

Re: uPic Compiler

Inlägg av DarkSilver »

Där ser vi hur pass bra min Search-fu är :oops:
Aja, då vet man det i alla fall. Men jag kommer ändå att fortsätta med projektet, även om en av anledningarna försvann ;)
bearing
Inlägg: 11670
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: uPic Compiler

Inlägg av bearing »

Vilken PIC-arkitektur riktar du dig mot?
Användarvisningsbild
DarkSilver
Inlägg: 128
Blev medlem: 24 augusti 2010, 20:26:35
Ort: Linköping

Re: uPic Compiler

Inlägg av DarkSilver »

Till att börja med hade jag tänkt och rikta in mig på PIC16 arkitekturen, men det är inte helt omöjligt att jag skriver för PIC12 och PIC18 arkitekturen också.
Användarvisningsbild
cobree
Inlägg: 296
Blev medlem: 19 april 2009, 11:25:49
Ort: Lidköping vid Vänern
Kontakt:

Re: uPic Compiler

Inlägg av cobree »

Gött det ska bli skoj att följa projektet
Användarvisningsbild
Icecap
Inlägg: 26625
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: uPic Compiler

Inlägg av Icecap »

Kul grej men det blir allt!

Just "mitt egna språk" gör att det sedan faller platt och är spill av tid om man ser på slutresultatet, vägen dit kan dock vara synnerlig lärorik men slutproduktet är dött redan innan det har levd.

Ett exempel just för PIC är JAL som också räknas i de avlidnas skaror.

Men gör en C-kompiler till PIC som kan optimera skapligt och göra hygglig effektiv kod, sälj den sedan för en hundring eller två och du kommer att ha råd med en ny dator eller två. PIC 16/18 är inte speciellt inriktat på högnivåspråk varför de är lite knepiga att få till att fungera bra i högnivåspråk.
Skriv svar