Differenza tra sintesi e traduzione [chiusa]

0

Recentemente ho incontrato due parole che descrivono il processo di trasformazione di una lingua in un'altra lingua - "traduzione" e "sintesi". Ho alcuni suggerimenti ma non sono sicuro di quale sia la differenza. Per esempio diciamo che C ++ è "tradotto" in assemblatore (la stringa è tradotta in un'altra stringa), ma VHDL (tre livelli di astrazione: Behavioral, RTL e Logical) è sintetizzato da Behavioral in RTL, da RTL in Logical ecc. è ancora rappresentato come stringa, quindi in pratica, è ancora una stringa tradotta in stringa, non è vero?).

Qualcuno può spiegare o riferirmi alla differenza esatta di questi concetti?

    
posta Smarty77 29.05.2015 - 10:36
fonte

1 risposta

2

tl; dr : parole diverse per la stessa cosa in diverse comunità / circostanze.

Il processo di traduzione di un programma da una lingua A in un'altra lingua B (o anche la stessa lingua) è chiamato compilation e il programma che esegue questo processo è chiamato compiler .

Nota: alcune persone usano il termine compilation se B è percepito come livello inferiore a A . Alcune persone sono ancora più rigide e chiamano la compilation solo se B è una sorta di linguaggio di una macchina binaria.

Tuttavia, ci sono alcuni termini specializzati che vengono utilizzati in alcune circostanze.

Se A == B , il processo viene talvolta definito ottimizzazione , offuscamento , minimizzazione o pretty-printing , a seconda dell'obiettivo del processo.

Se A è percepito come inferiore a B , a volte viene chiamato decompilazione . (E se A è una forma di codice di una macchina binaria e B è un linguaggio assembly, viene chiamato smontaggio ).

Se A è un linguaggio assembly e B è una forma di codice macchina binario, si chiama assembly .

Se A e B sono all'incirca allo stesso livello di astrazione e specialmente se il risultante B programma è destinato a essere umano- leggibile e idiomatico, si chiama translation o traduzione source-to-source .

Se A è una sorta di linguaggio macro o modello, potrebbe essere chiamato espansione .

Il termine sintesi è specifico dell'ingegneria elettronica e si riferisce alla sintesi di un sistema elettronico da un modello matematico, in contrasto con l'approccio più tradizionale dell'ingegneria di un sistema primo e più tardi che lo modella matematicamente. (Penso che il termine sia anche usato in Model-Driven Development in analogia con l'elettronica.)

    
risposta data 29.05.2015 - 11:15
fonte

Leggi altre domande sui tag