Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Dade, dade

Parola la lock screen

Deparazitare externa pisici fara ...

Seriale turcesti/coreene online H...
 Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle

Problema mare cu parintii= nervi ...

switch microtik
 Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...

Crapaturi placa

cum imi accesez dosarul electroni...
 Momentul Aprilie 1964

Sursa noua - zgomot ?

A fost lansat Ubuntu 24.04 LTS

Pareri apartament in zona Berceni?
 

Proiectarea compilatoarelor

- - - - -
  • Please log in to reply
11 replies to this topic

#1
lightpoint

lightpoint

    Member

  • Grup: Members
  • Posts: 785
  • Înscris: 16.02.2017
Bazele proiectarii compilatoarelor:
http://www.informati...Udragonbook.pdf

Proiectarea avansata a compilatoarelor:
https://comsciers.fi...esign-wiley.pdf

Proiectarea unui compilator si a parsereului sau:
http://www.compilers...c.com/crenshaw/

Orice compilator trebuie sa indeplineasca minim urmatoarele cerinte:

Parsing: the source text is converted to an abstract syntax tree (AST).

Resolution of references to other modules

Semantic validation: weeding out syntactically correct statements that make no sense, e.g. unreachable code or duplicate declarations.

Equivalent transformations and high-level optimization: the AST is transformed to represent a more efficient computation with the same semantics.

Code generation: the AST is transformed into linear low-level code, with jumps, register allocation and the like. Some function calls can be inlined at this stage, some loops unrolled, etc.

Peephole optimization: the low-level code is scanned for simple local inefficiencies which are eliminated.

Edited by lightpoint, 06 April 2017 - 10:49.


#2
vyctoras1985

vyctoras1985

    Guru Member

  • Grup: Validating
  • Posts: 11,765
  • Înscris: 01.07.2013
sa inteleg intr-un fel ca un compilator e un urias matchtext sau text finder?

#3
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

 vyctoras1985, on 06 aprilie 2017 - 11:43, said:

sa inteleg intr-un fel ca un compilator e un urias matchtext sau text finder?
Nu.

#4
DaculScoril0

DaculScoril0

    Senior Member

  • Grup: Senior Members
  • Posts: 6,670
  • Înscris: 03.12.2014

 vyctoras1985, on 06 aprilie 2017 - 11:43, said:

sa inteleg intr-un fel ca un compilator e un urias matchtext sau text finder?
asta-i doar o mic[ parte din ce face un compilator

#5
vyctoras1985

vyctoras1985

    Guru Member

  • Grup: Validating
  • Posts: 11,765
  • Înscris: 01.07.2013
eu nu imi pot imagina altfel cum poate un compilator sa verifice rezultatele. sau pot...
ma gandesc ca pur si simplu ruleaza programul si in cazul unei greseli de programare, conform unui algoritm calculeaza ce rezultat ar fi trebuit sa dea o anumita bucata de cod. probabil ca in el sunt n reguli de programare care trebuiesc respectate.

#6
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Un compilator nu ruleaza niciun program, un compilator transforma un text in instructiuni binare intelese de electronica unui anumit creator de CPU, de exemplu intel.

Rularea programului se face ulterior compilarii, de catre CPU, de cele mai multe ori la dorinta utilizatorului uman, toate sub egida sistemului de operare.

Compilarea are un singur efect: in urma ei, te alegi cu un fisier executabil, de obicei .exe.

#7
vyctoras1985

vyctoras1985

    Guru Member

  • Grup: Validating
  • Posts: 11,765
  • Înscris: 01.07.2013
eu cred ca vorbesc de build & compile.....care are ca efect si gasirea erorilor
in fine sunt obosit la ora asta .....mai am o tigara ma duc sa o fumez dupa care la somn...revin maine.

#8
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Erori de sintaxa, dupa niste reguli gramaticale.
Daca detecta compilatorul erorile de programare... n-ar mai fi existat erori.

#9
vyctoras1985

vyctoras1985

    Guru Member

  • Grup: Validating
  • Posts: 11,765
  • Înscris: 01.07.2013
asta ar insemna ca acel compilator sa inteleaga ce faci sau mai bine zis ce vrei sa faci. nu stiu daca un compilator ar putea analiza bucati de cod fara sa integreze in intreg si asta numai dupa rezultatul probabil pe care ai vrea sa il scoti din acea bucata

ar insemna sa stie exact ce metoda vrei sa folosesti in acea bucata

#10
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Unele compilatoare sunt mai bune ca altele, și asigură o corectitudine mai ridicată a codului sursă, de exemplu Rust.

Însă da, compilatoarele sunt toate limitate comparativ cu creierul uman. D-aia e nevoie de programatori.

#11
Mosotti

Mosotti

    Geniu umil

  • Grup: Senior Members
  • Posts: 33,295
  • Înscris: 21.04.2004

 dani.user, on 06 aprilie 2017 - 21:12, said:

Erori de sintaxa, dupa niste reguli gramaticale.
Daca detecta compilatorul erorile de programare... n-ar mai fi existat erori.
Compilatoarele moderne fac mai mult decit syntax checking... Detecteaza si potentiale erori de programare, de exemplu "not all control paths return a value" sau "potential divide by 0". Sint o gramada de warninguri care-ti fac viata mult mai usoara decit acu enspe mii de ani... Compilatorul nu stie ce faci, insa stie ca ceea ce faci nu e probabil ceea ce crezi ca faci :w00t:

#12
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Fac tot felul, dar impresia lui vyctoras era mult mai SF.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate