Tablica grananja je metoda za učinkovit prijenos kontrole programa s jednog dijela programa na drugi, ili na drugi program koji je dinamički učitan, slanjem grane instrukcija ili implementacijom naredbe switch. Ova metoda, koja se ponekad naziva i jump table, oslanja se na skup okolnosti ili uvjeta za izvođenje skoka za implementaciju procedure prema switch naredbi iz C+ prevoditelja. Neke od glavnih prednosti tablica grananja su njihova kompaktna struktura koda i smanjenje potrebe za individualnim testiranjem povratnih kodova prilikom određivanja tijeka programa.
U 1980-im, tablice grana su bile široko korištene u programiranju asemblerskog jezika. Još uvijek se koriste u programiranju sklopova za razvoj ugrađenih sustava i operacijskih sustava. Od 1990-ih, programski jezici prevoditelja također koriste funkcioniranje tablice grananja.
Tablice grananja sastoje se od popisa bezuvjetnih instrukcija koje se, danim unosom, granaju na druga odredišta. Većina računalnog hardvera može učinkovito izvršiti ove upute. Ponekad se pomak – u biti, udaljenost do odredišta – može dodati registru programskog brojača koji tada može ukazivati na skupove instrukcija grananja ili skakati između skupova instrukcija grananja. Sve što je potrebno za implementaciju tablice grananja je provjera valjanosti ulaznog koda, transformacija podataka u pomak i množenje podataka na zadanu duljinu instrukcije.
Ugrađeno programiranje koristi tablice grananja jer su učinkovitije od upotrebe strojnog koda ili niza pokazivača. Ugrađeni kontrolni sustavi trebaju tu uštedu memorije, i iako može koštati malu količinu performansi tijekom pristupa tablici grananja, svaki poziv funkcije virtualne metode koštao bi istu količinu performansi za stabilno funkcioniranje. Ograničeni pristup CPU-u i uštede memorije u ugrađenim sustavima zahtijevaju tablicu grananja za skupove statičkih funkcija.
Programski jezici prevoditelja generiraju vlastite tablice grana kada je potrebno korištenjem tipki za pretraživanje na optimizirajućim prevodiocima. Neki programeri odlučuju ručno pomoći prevodiocu pri generiranju kontekstualne tablice grananja dajući prevoditelju uvjetne parametre u dva koraka iz kojih može pretraživati ključeve. U ranijim godinama kompajliranja programa, implementacija tablice grananja je bila naredbe “GoTo” u jezicima prevoditelja Fortran. Tablice grana i dalje se koriste za implementaciju promjena u tijeku programa u jezicima prevoditelja ili kao početna točka za ponovljene sekvence instrukcija.