SHARE
TWEET

Untitled

a guest Apr 21st, 2019 94 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. bnf, ebnf, sint dijagrami:
  2.     bnf(bakus naurova forma) ti je kako se zapisuje gramatika
  3.         sastoji se od MLF(metalingvistickih formi)
  4.         koje su u sustini linije parsera tipa
  5.         E: E + E
  6.     EBNF ti je prosirena BNF, samo dodato * + ko u regexu,  [] za opciono i () za grupisanje
  7.     sint dijagrami crtezi ko iz baza
  8.  
  9. semant analiza:
  10.     akcije parsera, tablica prom, konverzije tipova, klase za cvorove sint stabla
  11.  
  12. generisanje medjukoda:
  13.     dodavanje skokova i adresa
  14.  
  15. optimizacija:
  16.     opt medjukoda i opt ciljnog koda - arh asembl masinski jezik
  17.     const folding (sracunavanje)
  18.     const propagation (ne cuvanje u prom)
  19.     strength reduction (* u <<)
  20.     common subexpr elimination (ne racunanje 2 put)
  21.     copy propagation (brisanje nepotrebnih kopija)
  22.     dead code elimination
  23.     optim petlji
  24.    
  25. generisanje koda:
  26.     odabir instrukcija
  27.         dinamickim alg nalazimo optimalno pokrivanje stabla instrukcija
  28.     alokacije registara
  29.         liveness analysis => graf prom cvorovi, grane istovremenost => bojenje grafa
  30.     rasporedjivanje instrukcija
  31.         menjamo redosled da bolje iskoristimo pipelining
  32.  
  33. serijalizacija = zapis u fajl
  34.  
  35. AST
  36.     c - cvor
  37.     java/cpp - hijerarhija klasa
  38.     haskel - lepi jednostavni tip
  39.  
  40.     Izgradnja
  41.         Yacc/Bison
  42.         rek spust
  43.  
  44.     DAG je efikasniji
  45.  
  46.     Izracunavanje => mapa
  47.  
  48.     Stek masina push pop jump
  49.  
  50. Tablica simbola treba da sadrzi i scope
  51.  
  52. Semant analiza konverzija tipova glavni zadatak
  53.  
  54. Medjukod
  55.     razni jezici koriste isti
  56.     vrste: DAG, postfix, 3AC, graf toka kontrole, SSA(Static single asignment form)
  57.     TAC:
  58.         aritmetika se prevodi u akcijama
  59.         logika:
  60.             kod izracunava
  61.                 slicno kao aritmetika, boli nas uvo za lenjo izracunavanje
  62.             kod odredjuje kontrolu toka
  63.                 uzimamo u obzir lenjo izracunavanje i stvaramo ga naredbama skoka
  64.  
  65. Kod se deli na basic blocks koji se povezuju u control flow graph (CFG)
  66. bb = instrukcije koje idu zajedno, nema goto sem na kraju
  67. podela je u sustini nalazenje instrukcija koje su vodje blokova, tj od kojih se krece,
  68. prva, one na koje se skace, instrukcije posle skoka
  69. delimo na bb da bi olaksali analizu koda (za optim)
  70.  
  71. od bb se pravi graf kontrole toka
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top