Jezični prevoditelj: razlika između inačica

Izbrisani sadržaj Dodani sadržaj
wikipoveznica
dopuna
Redak 1:
'''Jezični procesor''' (još i '''prevodilac''', '''prevoditelj''', '''programski prevodilac''', '''programski prevoditelj''', '''kompilator'''<ref name="InfoRjecnik">Kiš Miroslav, ''Englesko-hrvatski i hrvatsko-engleski informatički rječnik'', Zagreb, Naklada Ljevak, 2000., str. 211</ref>, te kolokvijalno često kao '''kompajler'' od [[Engleski jezik|eng.]] ''compiler'') jest [[računalni program]] koji čita program napisan u izvornom jeziku, te ga prevodi u istovjetni program u ciljnom (najčešće strojnom) jeziku. Formalna se definicija jezičnog procesora zasniva na tri jezika: ''izvorni jezik'', ''ciljni jezik'' i ''jezik izgradnje'', te se jezični procesor prikazuje na sljedeći način:
{{mergetalk}}
'''Jezični procesor''' (još i '''prevodilac''', '''prevoditelj''', '''programski prevodilac''', '''programski prevoditelj''', '''kompilator'''<ref name="InfoRjecnik">Kiš Miroslav, ''Englesko-hrvatski i hrvatsko-engleski informatički rječnik'', Zagreb, Naklada Ljevak, 2000., str. 211</ref>, te kolokvijalno često kao '''kompajler''') jest [[računalni program]] koji čita program napisan u izvornom jeziku, te ga prevodi u istovjetni program u ciljnom jeziku. Formalna se definicija jezičnog procesora zasniva na tri jezika: ''izvorni jezik'', ''ciljni jezik'' i ''jezik izgradnje'', te se jezični procesor prikazuje na sljedeći način:
 
<math>JP_{L_g }^{L_i \to L_c } </math>
 
gdje je ''JP'' jezični procesor, <math>L_i</math> je izvorni jezik, <math>L_c</math> je ciljni jezik, te <math>L_g</math> je jezik izgradnje.
 
Primjer:
 
{| cellspacing="12" cellpadding="4" style="border-collapse:collapse" width="100%"
|-
! Programski kod - [[Java (programski jezik)|Java]]
! width="200px" |
! Strojni kod
|-
| style="font-size:80%" |
public class Ggt {
<font color="grey"><i>/*
*/</i></font>
private static int ggt(int zahl1, int zahl2) {
'''while''' (zahl1 != zahl2) {
'''if''' (zahl1 < zahl2) {
zahl2 = zahl2 - zahl1;
} '''else''' {
zahl2 = zahl1 - zahl2;
}
}
'''return''' zahl1;
}
<font color="grey"><i>/*
*/</i></font>
public static void main(String[] args) {
<font color="grey"><i>/*
*/</i></font>
int ersteZahl = Integer.parseInt(args[0]);
int zweiteZahl = Integer.parseInt(args[1]);
int ergebnis = ggt(ersteZahl, zweiteZahl);
System.out.println("Der ggT von " + ersteZahl +
" und " + zweiteZahl + " ist: " + ergebnis);
}
}
 
| align="center" | '''Prevoditelj →'''
| style="font-size:80%" |
···<br>
0010 0100 1011 0111<br>
1000 1110 1100 1011<br>
0101 1001 0010 0001<br>
0111 0010 0011 1101<br>
0001 0000 1001 0100<br>
1000 1001 1011 1110<br>
0001 0011 0101 1001<br>
0111 0010 0011 1101<br>
0001 0000 1001 0000<br>
1000 1001 1011 1111<br>
1001 1101 1001 1110<br>
0111 0010 0011 1101<br>
0001 0000 1001 0000<br>
0111 0010 0011 1101<br>
0001 0011 1001 1100<br>
···
|}
 
 
 
Obično je jezični procesor i sam program, te je stoga jezik izgradnje [[programski jezik]] kojim je ostvaren sam jezični procesor.
Line 37 ⟶ 97:
 
== Poveznice ==
 
* [[Compilers: Principles, Techniques, and Tools]]
* [http://compilers.iecc.com/crenshaw/ Let's Build a Compiler, by Jack Crenshaw]
 
== ReferenceIzvori ==
 
<references/>
Line 46 ⟶ 107:
{{Mrva-rač}}
[[Kategorija:Jezični procesori| ]]
 
<!-- interwiki -->
 
[[af:Vertalerkonstruksie]]