Close
Faqja 0 prej 5 FillimFillim 12 ... FunditFundit
Duke shfaqur rezultatin -9 deri 0 prej 45
  1. #1
    i/e regjistruar
    Anėtarėsuar
    30-04-2002
    Vendndodhja
    Tirane
    Postime
    174

    Ne lidhje me pėrpiluesit/kompilatorėt

    Kisha disa pyetje, ne lidhje me kompilatoret e nje gjuhe programimi.
    Se pari ne cfare gjuhe programimi behen ato?
    A jane thjesht nje software si software t e tjera apo shume me te komplikuara?
    P.sh kompilatroti i C, ne cfare gjuhe eshte bere?
    Kam degjuar edhe se Assembler perdor nje si tip "komplilatori", po kjo ne cfare gjuhe eshte bere?
    Ajo qe me ka lodhur shume, eshte pyetja se si eshte ndertuar software i pare, apo me sakte sistemi i pare dhe me i thjeshte operativ (MS DOS), sepse ne e dime se nje software nuk mund te behet pa nje editor texti, ndersa vete editori nuk mund te krijohet pa nje gjuhe programimi, atehere kush ka lindur i pari dhe si?
    E di qe ngjan si puna e asaj kush e ka bere e para veza pulen apo pula vezen, por qe veretete qe eshte e cuditshme apo jo?
    NEse je i afte per te krijuar nje kompilator, atehere kjo do te thote se mundesh te krijosh edhe nje gjuhe programimi?
    Se fundi dikush m'u lut qe meqe merrem me keto gjerat e informatikes ta ndihmoja per te krijuar nje "kompilator" qe ben 4 veprimet matematikore.
    Kaq ishte detyra qe u kishte dhene professori mavri i informatikes, ketu ne Tirane.
    As u ka shpjeguar fare se cfare jane kompilatoret, si ndertohen, por direkt u ka dhene detyren dhe e theu koken per turizem.
    Cti besh papergjegjshmeri totale?!
    Me shprese se dikush do te tentoje te me ktheje pergjigje ju uroj gjithe te mirat!
    Sa mirė do tė ishte tė mos kisha lindur,
    por meqė kam lindur sa mirė do tė ishte tė mos vdisja,
    por meqė do tė vdesė sa mirė do tė ishte tė mos ringjallesha.
    por meqė do tė ringjallem sa mirė do tė ishte tė mos dėnohesha, e nėse dėnohem tė mos dėnohem pėrgjithmonė...

  2. #2
    Moderator Maska e benseven11
    Anėtarėsuar
    10-09-2002
    Vendndodhja
    new jersey-usa
    Postime
    13,816
    kompilusi i pare ka qene A-0 eshte bere me assembler
    Per C-ne ka qene Latice
    Dosi i pare origjinal QDOS( ne fillim eshte quajtur quick and dirty operation sistem;
    me vone Dos u riquajt disk operating system)
    kompjuteri i pare TSR-80 me chip Intel 8088
    IBM krijoi arkitekturen e pjeseve hardware te kompjuterit te pare
    dhe ne koperim me Intelin krijoi kompletin e chipsave elektronike
    qe dha mundesi per krijimin e dosit te pare
    Nga Dosi krijuan Assemblerin ... fillimi i dosit e ka bazen
    ne chipsat elektronike te fabrikuar gati per tu manipuluar me ane te tastjeres
    Ndryshuar pėr herė tė fundit nga benseven11 : 23-04-2004 mė 19:13
    ≈♥♠♣♦≈ovguide.com/movies

  3. #3
    Heavily Equipped Maska e Force-Intruder
    Anėtarėsuar
    04-11-2002
    Postime
    4,910
    LoL Drita,

    kjo duket tamam si puna e vezes dhe e pules apo... kompilatori vete programohet, por qe te programohet do nje gjuhe programimi. Paradoks duket... por po te shikosh aty ne nje vend tek pergjigja e Benseven ke nje ndihme ne arsyetimin tend ku flitet per chips at. Gjithmone duhet mbajtur parasysh se edhe ne hardware ka "inteligjence" (pra njefare llogjike filestare, psh dioda lejon kalimin e rrymes vetem ne nje drejtim). Eshte shfrytezuar kjo llogjike dhe nje gjuhe bazike per te programuar kompiluesin(et) e pare dhe keshtu ka vazhduar terkuza.

  4. #4
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    Je futur nė tė thella moj Drita por mqns po marr njė klasė pėr arkitekturėn e kompjuterit, si dhe pėr gjuhėt e programimit, do mundohem tė tė kthej njė pėrgjigje sa mė tė qartė.

    Nė rradhė tė parė ta fillojmė me ndėrtimin e kompjuterit. Shpesh ke dėgjuar se kompjuteri ėshtė vetėm zero dhe njėsha por zerot dhe njėshat janė vetėm pėr njerėzit qė kanė sy dhe dinė tė dallojnė njė vijė tė drejtė (njėshin) nga njė vijė e mbyllur (zeron). Kompjuteri nuk njeh numra por njeh sinjale elektrike. Zerot dhe njėshat (e njerėzve) pėr kompjuterin pėrkthehen nė tensionin qė kalon pėrmejt aparaturave.

    0 = nuk ka tension ose ka tension tė ulėt
    1 = ka tension tė lartė

    Pėr tė mos thėnė "tension i ulėt", "tension i lartė", do pėrdorim numrat 0 dhe 1.

    Tani qė kuptojmė tensionet, do vazhdojmė tek zemra/truri i kompjuterit qė ėshtė procesori. Procesori ėshtė ndėrtuar nė njė mėnyrė tė tillė qė njė sinjal, shkakton njė sinjal tjetėr, shkakton njė sinjal tjetėr, e kėshtu me rradhė. Duke bashkuar miliona sinjale sė bashku mund tė krijojmė llogjikėn elementare tė kompjuterit dhe nė tė njėjtėn kohė mund tė ruajmė edhe informacion nė sistemin binar.

    Ndryshe nga sistemi dhjetor qė pėrdorin njerėzit, shifrat e kompjuterin mund tė jenė vetėm 0 ose 1. Prandaj pėr tė komunikuar me procesorin duhet tė pėrkthejmė tė gjithė numrat nė 0 dhe 1 dhe tė pėrdorim sistemin binar (dyshifror).

    1 shifėr quhet 1 Bit = 0
    8 shifra sėbashku quhen 1 Bajt (anglisht=byte) = 00000000

    Shifra e parė djathtas tregon 2 nė fuqi 0, e dyta 2^1, 2^2, 2^3..... 2^k
    (decimale) - > (binare)
    0 = 00000000
    1 = 00000001 sepse 2^0 = 1
    2 = 00000010 sepse 2^1 = 2
    4 = 00000100 sepse (2^2) = 4
    8 = 00001000 sepse (2^3) = 8
    16 -------- || -----------------
    32 -------- || -----------------
    64 -------- || -----------------
    128 = 10000000 sepse (2^7) = 128

    127 = 01111111 sepse (2^6) + (2^5) + (2^4) + (2^3) + (2^2) + (2^1)(2^0) = 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127

    3 = 00000011 sepse (2^0) + (2^1) = 1 + 2 = 3

    Nqs mund tė prezantojmė numrat nė kėtė mėnyrė, atėherė mund tė bėjmė edhe mbledhje, zbritje, shumėzim, pjestim.

    Pėr ti rėnė shkurt, procesori ėshtė i ndarė nė disa pjesė. Njė regjistėr ka komandėn qė duhet tė kryhet, njė pjesė tjetėr kryen aritmetikė elementare (+ - * /), njė rregjistėr pėrdoret pėr tė ruajtur vlerat e plot e plot tė tjera shumė tė komplikuara qė vetėm inxhinierėt e elektronikės mund ti kuptojnė nė brėndėsi.
    Mos harro se edhe pse po flasim me zero dhe njėsha, gjithēka kthehet nė sinjale elektronike.

    Procesori ka gjuhėn e tij me 0 dhe 1 dhe tė vetmet komanda qė pranon janė po ashtu me 0 dhe 1.

    Njė komandė e procesorit mund tė duket kėshtu.
    00010110 00100011 00011101 10100110

    Kombinimi i ndryshėm i zerove dhe njėshave e bėn procesorin tė dallojė midis mbledhjes, zbritjes, shumėzimit, pjestimit, hedhjen nė memorje, marrjen nga memorja, etj.

    Ēdo komandė ėshtė 32 bit ose 4 bajt.
    00010110 00100011 00011101 10100110

    Kėto 32 bite janė ndarė nė grupe. Grupi i parė i thotė procesorit ēfarė funksioni tė kryej, grupi i dytė i thotė ku tė ruaj rezultatin, grupi i tretė dhe i katėrt mund ti japin dy numra.

    a = adresa e memorjes ku eshte hedhur 4
    b = adresa e memorjes ku eshte hedhur 5
    c = adresa e memorjes ku do rruajme rezultatin 9

    Kodi:
    00010110  00100011  00011101 10100110
    shto/add          c                a               b
    00010000  00100011  00011101 10100110
    zbrit/sub          c                a               b
    00111000  00100011  00011101 10100110
    shumėzo          c                a               b
    10001000  00100011  00011101 10100110
    pjesto              c                a               b
    10110001  00100011  00011101 10100110
    lexo                 a                b 
    shkruaj            a                b
    ...
    ....
    Vėr re si ndryshon grupi i parė i shifrave pėr ēdo komandė. Kjo e lejon procesorin tė dallojė midis mbledhjes, zbritjes dhe plot komandave tė tjera. Nė tė vėrtetė gjėrat janė mė tė komplikuara por unė po i thjeshtoj shumė sa pėr tė tė dhėnė njė ide. Numrat i kam dhėnė sa pėr shėmbull dhe nuk janė tė saktė. Pse? Sepse procesorėt modern kanė me qindra komanda tė tilla dhe ėshtė e pamundur pėr njerėzit tė mbajnė mėnd gjithė kombinimet e ndryshme tė zerove dhe njėshave.

    Grupi i komandave me zero dhe njėsha quhet gjuhe makine (machine language).
    00010110 00100011 00011101 10100110
    00010000 00100011 00011101 10100110
    00111000 00100011 00011101 10100110
    10001000 00100011 00011101 10100110
    10110001 00100011 00011101 10100110

    Pėr tė lehtėsuar punėn pėr njerėzit, komandat e gjuhės sė makinės pėrkthehen nė asembli (assembly) qė ka afėrsisht tė njėjtat funksione me gjuhėn e makinės por shkruhet me shkronja dhe simbole tė gjuhėve njerėzore. Komandat nė asembli janė shkurtime tė fjalėve tė anglishtes.
    Kodi:
    ld     	_sfoo,g0
    ld      	_sfoo+4,g4
    cmpible 	g4,g0,L4
    mov   	g4,g0
    ld   	_sfoo,g5
    ld   	 8(g5),g4
    ldis   	8(g4),g0
    ld 	12(g4),g4
    addo 	g5,g0,g0
    callx	(g4)

    Shkronjat dhe numrat siē tė thashė nė fillim janė pėr njerėzit. Kompjuteri dhe pjesėt elektronike pranon vetėm sinjale me tension tė ndryshėm. Prandaj domosdo qė komandat e para qė i janė dhėnė procesorit nuk kanė qėnė nė asembli por dikush i ka regjistruar sinjalet nė njė ROM. ROM-i ėshtė memorje e pandryshueshme. Pra ėshtė ndėrtuar nė mėnyrė tė tillė qė gjithnjė pėrmban tė njėjtat komanda. ROM pėrmban sinjalet e nevojshme pėr tė aktivizuar sistemin e marrjes dhe dhėnies qė quhet BIOS (basic input output system), shqiptohet bajos. Kur ti ndez kompjuteri, procesori fillon tė kryej komandat e BIOS qė ėshtė regjistruar nė ROM. BIOS kontrollon pjesėt e tjera tė kompjuterit si hard disku, cd-rom, memorjen etj dhe pastaj lexon hard diskun pėr sektorin boot (boot sector). Aty gjenden komanda pėr sistemin operativ (dos, windows, unix, linux, mac) qė hidhen nė memorje dhe prej memorjes, kryen me rradhė nga procesori.

    Nė pėrshkrimin mė lart nuk zura nė gojė zero dhe njėsha sepse ato nuk ekzistojnė. Gjuhėt simbolike janė vetėm pėr njerėzit. Edhe hard disku nuk ka zero dhe njėsha por ka sinjale qė simbolizojnė 0 ose 1. Para se tė ndėrtohej hard disku, kompjuterat pėrdornin kartela me vrimė dhe vrima simbolizonte 1.

    Njerėzit nuk duan tė mendojnė pėr sinjale, prandaj i kthejmė sinjalet nė numra. Duke bashkuar 0 dhe 1 formojmė, gjuhėn e makinės. Gjuhėn e makinės e pėrkthejmė nė asembli, fortran, pascal, cobol, basic, c, c++ e plot gjuhė tė tjera. Kjo ėshtė renditja kronologjike por pėr njerėzit ėshtė mė e rėndėsishme drejtimi i kundėrt, pėrkthimi nga gjuhėt moderne nė gjuhėn e makinės.
    Asembli kalon tek assembler dhe pėrkthehet nė gjuhėn e makinės.
    Tė gjitha gjuhėt kanė pėrpilusin (compiler) e tyre.

    Si u krijua pėrpiluesi i parė?
    Pėrpiluesi i parė ka qėnė njė seri komandash qė dikush i ka kthyer nė sinjale dhe i ka hedhur nė hard disk nėpėrmjet tastierės. Kėto zero dhe njėsha lexohen nga procesori dhe krijojnė disa zero dhe njėsha tė tjerė. Kėto tė fundit i japin komanda procesorit tė dėrgojė sinjale te monitori dhe monitori ndryshon ngjyrat e pikave (pixels). Formacionet e pikave nė mėnyra tė ndryshme formojnė simbolet e gjuhėve qė pėrdorin njerėzit. Kur ti shtyp njė buton nė tastierė, procesori merr njė seri komandash qė ruajnė shkronjėn tėnde nė memorje dhe pastaj e vizatojnė nė ekran. Grupimi i shkronjave formon gjuhėn dhe gjuhėt ndėrtojnė mbi njėra tjetra.

    Nuk ka rėndėsi gjuha por rezultati i zerove dhe njėshave qė shkruhen nė hard disk, disketa, CD dhe sende tė tjera qė ruajnė informacionin. Nė fillim ruheshin me kartela me vrima por tani pėrdoren teknologji tė tjera si fushat elektromagnetike, rezet lazer, etj.

    Pasi i krijua njė seri zerosh dhe njėshash pėr asembli, nuk ishte nevoja qė tė shkruhej pėrsėri me zero dhe njėsha.
    0101010 -> asembli
    asembli -> perpilues per gjuhe tjeter
    gjuha tjeter -> gjuhė akoma mė tė mirė
    gjuha mė e mirė -> fortran
    fortran -> gjuhė tjetėr
    gjuha tjetė -> C
    C -> C qė tregon dhe gabimet e kodit
    C -> C qė tregon gabimet dhe ėshtė mė e shpejtė
    C -> C++, mė tė lehtė se C
    C -> Java, mė tė lehtė se C
    C -> Lisp, PHP, PERL
    ...
    ...

    Ēfarė bėn pėrpiluesi?
    Pėrpiluesi analizon simbolet qė ke hedhur ti nė memorje dhe i kthen komandat nė gjuhėn e makinės (01101010). Pėrpiluesit e mirė tė thonė qė ke dhe gabime nė kod, ose analizojnė kodin pėr mėnyrėn mė tė shpejtė pėr tė kryer komandat. Nuk ėshtė e thėnė qė pėrpiluesi ta kthejė kodin nė gjuhėn e makinės.
    C++ mund tė pėrkthehet nė C, C tė pėrkthehet nė Asembli dhe pastaj Asembli tė pėrkthehet nė gjuhėn e makinės.

    Asembli mbahet si gjuha mė e ulėt qė mund tė shkruajnė njerėzit dhe asembler ka qėnė programi/pėrpiluesi i parė qė ka pėrkthyer asemblin nė gjuhėn e makinės. Asembleri ka qėnė pėrpiluesi i parė i shkruajtur nė zero dhe njėsha. Gjithēka tjetėr ka vazhduar zinxhir.


    Si mund tė krijosh njė pėrpilues/kompilator?
    Ti nuk duhet tė shkruash nė 10101 por shumė mirė mund tė shkruash nė C++ dhe Java qė i afrohen mė shumė mėnyrės si llogjikon njeriu.

    Ja dhe gjuha qė mund tė krijosh ti pėr profesorin:
    ------------------------
    2 shumėzim 4
    6 plus 2
    15 minus 8
    10 pjestim 5
    ------------------------

    Kėtė mund ta ruash nė njė skedar nė kompjuter (kodi.shqip)
    Pastaj hap pėrpiluesin e c++ dhe shkruaj dy rreshta kod qė tė lexojė skedarin dhe tė zėvėndėsojė
    "2 shumėzim 4" me cout << 2 * 4 << endl;
    "6 plus 2" me cout << 6 + 2 << endl;
    "15 minus 8" me cout << 15 - 8 << endl;
    "10 pjestim 5" me cout << 10 / 4 << endl;

    Pra, ti e shkruajte nė shqip > pėrpiluesi e ktheu nė C++
    C++ mund ta kompilosh me pėrpiluesin e C++ pėr ta kthyer nė gjuhėn e makinės (machine language).

    Gjuha jonė njeh vetėm 4 komanda por kjo s'ka rėndėsi sepse zerot dhe njėshat nė fund janė njėsoj sikur ne ta kishim shkruar edhe nė ndonjė nga gjuhėt e tjera.

    Disa gjuhė tė lejojnė tė shprehesh mė lehtė, disa tė lejojnė tė shprehesh mė shpejt, disa lexohen mė mirė, disa shkruhen mė mirė, disa pėrpilohen mė shpejt, disa kanė funksione matematikore shumė tė sakta, disa kanė funksione tė mira pėr tė hapur skedarė, disa kanė funksione tė mira pėr tė organizuar tekstin dhe fotografitė (html), etj etj.

    Besoj se ke njė ide mė tė mirė tani se ēfarė ndodh pas kompjuterit. I shtrydha mirė trutė dhe bėra njė pėrmbledhje tė shumė klasave qė kam marrė dhe vazhdoj tė marr nė universitet. Edhe kėto sa tė thashė unė janė thjeshtuar nė kulm se ka shumė gjėra tė tjera qė dhe unė nuk i kuptoj mirė. Shpresoj tu jem pėrgjigjur tė gjitha pyetjeve qė ke shtruar por mos nguro po ke paqartėsira.
    Ndryshuar pėr herė tė fundit nga edspace : 24-04-2004 mė 02:55
    Edi

  5. #5
    i/e regjistruar Maska e Gepardi
    Anėtarėsuar
    30-10-2002
    Vendndodhja
    Tiranė
    Postime
    169
    Edi faleminderit shume.
    Po kete pyetje e kisha dhe une dhe e kisha vrare shpesh here mendien, por me ne fund mbas ketij sqarimi krijova nje fare ideje.
    Pershendetje!

  6. #6
    i/e regjistruar
    Anėtarėsuar
    30-04-2002
    Vendndodhja
    Tirane
    Postime
    174
    Shume flm cuna dhe me falni nese ju lodha sidomos edi-in
    Sa mirė do tė ishte tė mos kisha lindur,
    por meqė kam lindur sa mirė do tė ishte tė mos vdisja,
    por meqė do tė vdesė sa mirė do tė ishte tė mos ringjallesha.
    por meqė do tė ringjallem sa mirė do tė ishte tė mos dėnohesha, e nėse dėnohem tė mos dėnohem pėrgjithmonė...

  7. #7
    i/e regjistruar
    Anėtarėsuar
    10-09-2004
    Postime
    2,389

    C/C++: Pėrpiluesi (Compiler)

    Nese ndonjeri di ndonje website ku mund ta shkarkoj do me bente nder sikur te me jepte linkun

    ju falenderoj qe tani...
    Ndryshuar pėr herė tė fundit nga [xeni] : 08-10-2004 mė 14:54

  8. #8
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    Ndryshuar pėr herė tė fundit nga edspace : 20-06-2006 mė 09:19
    Edi

  9. #9
    63n700 Maska e werewolf
    Anėtarėsuar
    03-10-2003
    Vendndodhja
    Rome
    Postime
    164
    mund te shkarkosh dhe devC++, eshte free software (GPL) e gjen ketu:
    http://www.bloodshed.net/devcpp.html
    The truth may be out there, but lies are inside your head.

  10. #10
    i/e regjistruar
    Anėtarėsuar
    10-09-2004
    Postime
    2,389
    edspace, werewolf
    falemnderit shume per interesimin dhe ndihmen...

Faqja 0 prej 5 FillimFillim 12 ... FunditFundit

Tema tė Ngjashme

  1. configure: error: no acceptable C compiler found in $PATH
    Nga Nice_Boy nė forumin Pėrdoruesit e Unix
    Pėrgjigje: 8
    Postimi i Fundit: 03-12-2006, 20:46
  2. Java - Instalimi i pėrpiluesit (compiler)
    Nga Nocturnal nė forumin Arti i programimit
    Pėrgjigje: 7
    Postimi i Fundit: 18-02-2005, 01:51

Regullat e Postimit

  • Ju nuk mund tė hapni tema tė reja.
  • Ju nuk mund tė postoni nė tema.
  • Ju nuk mund tė bashkėngjitni skedarė.
  • Ju nuk mund tė ndryshoni postimet tuaja.
  •