La differenza tra postelaborazione e pre-elaborazione è inesistente, almeno nel caso dei linguaggi di programmazione. Entrambi descrivono una trasformazione da un formato A (che è stato creato da un essere umano) per formattare B (che è necessario avere, ma è scomodo da scrivere):
“compiler”: A -> B
== CSS-related examples ==
less: LESS -> CSS
sass: SASS -> CSS
sass: SCSS -> CSS
autoprefixer: CSS -> CSS
minifier: CSS -> CSS
pleeease: CSS -> CSS
== Other examples ==
c preprocessor: C -> C without macros
gcc: C -> machine code
pandoc: LaTeX -> HTML
pandoc: Markdown -> HTML
pandoc: LaTeX -> Markdown
Alcune osservazioni su questi esempi:
-
Il formato di input e output può essere lo stesso. Questo è il caso di tidier, minificatori e altri processori di codice che semplificano in qualche modo la fonte. Per esempio. il preprocessore C espande macro e costanti nel codice sorgente. Questo è equivalente a autoprefixer, che espande le direttive CSS non prefissate nelle loro varianti prefissate.
-
I processori possono coinvolgere più subprocessori che fanno ciascuno una parte della trasformazione.
- pleeease può reindirizzare il codice attraverso vari processori come autoprefixer o minifer.
- Un compilatore C include uno stage per il preprocessore.
- Pandoc ha un processore che analizza l'input (ad esempio un documento Markdown) in una struttura dati comune, quindi passa questa rappresentazione intermedia a un altro processore che la trasforma nel formato di destinazione (ad esempio HTML). L'architettura di Pandoc è abbastanza collegabile e consente di aggiungere ulteriori fasi di pre-elaborazione. Ad esempio, questo è usato per implementare riferimenti bibliografici nel dialetto di Pandoc's Markdown, espandendo la sintassi in un modulo Markdown più standard.
Se pleeease si definisce un post-processore piuttosto che un pre-processore, questo è fatto ...
- per differenziarsi dai pre-processori come LESS o SASS. Il punto di forza di LESS e SASS / SCSS è che estendono o sostituiscono la sintassi CSS. Pleeease vuole invece rendere più portabile il codice CSS esistente.
- per indicare che il pleeease deve essere usato dopo lo sviluppo. Se usi SASS per scrivere i tuoi stili, devi eseguire il compilatore prima che servi il foglio di stile al tuo browser. E dopo hai scritto lo stile, puoi eseguire il rendering sul risultato per renderlo più appetibile ai browser più vecchi.
Riassumendo: non vi è alcun motivo tecnico per differenziare tra la preelaborazione e la postelaborazione nel regno dei linguaggi di programmazione. Il termine "postprocessing" non è ampiamente utilizzato in questo dominio e si dovrebbe quindi sostituire e preferire "pre-elaborazione", "compilazione" o "trasformazione".