Broncode

Broncode in Java met commentaar in rood en groen, de uitvoerbare code is blauw weergegeven.

De broncode (niet: broncodes), ook wel brontekst of in het Engels source, source code of code, van een computerprogramma is de leesbare tekst die door de programmeur in een programmeertaal is geschreven. Dit in tegenstelling tot de 'uitvoerbare (executable) code' of doelcode (object code) zoals die door een compiler of interpreter vanuit deze broncode wordt gegenereerd. De broncode van een hogere programmeertaal wordt vaak in monospace opgemaakt.

Ook spreekt men van de broncode van een opgemaakte tekst of afbeelding. Er wordt een zodanige extensie gebruikt dat bij aanklikken niet de broncode wordt getoond, maar het opgemaakte resultaat. Een voorbeeld is een HTML-document, dat naast de inhoud ook de opmaak van een webpagina beschrijft. Er is niet bij elk opgemaakt document een leesbare broncode, bijvoorbeeld niet bij Microsoft Word.

Een voorbeeld van broncode voor een grafische afbeelding is SVG (scalable vector graphics), waarbij de grafische elementen in XML worden geschreven.

Gebruik van broncode van een computerprogramma

De broncode kan op een aantal manieren worden omgezet naar uitvoerbare code, zodat het programma kan worden uitgevoerd.

Er bestaat ook een constructie waarbij de broncode in een andere hogere taal wordt vertaald. Bijvoorbeeld in de taal PL/SQL, waarbij de universele PL/SQL-compiler de broncode naar C-code vertaalt, die van objectgeoriënteerde code is ontdaan maar is voorzien van embedded SQL, die automatisch door een 'native' C-compiler weer naar een optimale machinecode wordt vertaald.

Voorbeeld

De volgende broncode in C:

int square(int i)
{
  return i * i;
}

wordt bijvoorbeeld in een (fictieve) assembleertaal zoiets als:

SQUARE: PUSH B
        MOV A, [SP+2]
        MOV B, A
        MULT 
        POP B 
        RET

en in een (fictieve) machinecode, weergegeven in het hexadecimale stelsel:

02 25 00 55 10 12 03

en in een gebruikersvriendelijk hex-record, met daarin onder andere geheugenadres, machinecodes en controlesom:

:070026000225005510120326

waarmee de machinecode hexadecimaal kan worden ingelezen op adres 2600.