Ciao ragazzi, volevo chiedervi una cosa riguardo ai compilatori e agli interpreti: negli interpreti è presente il type checker? Grazie
Ciao ragazzi, volevo chiedervi una cosa riguardo ai compilatori e agli interpreti: negli interpreti è presente il type checker? Grazie
come minimo, se nel linguaggio interpretato o compilato sono presenti dei tipi, se il linguaggio non ha tipi non serve.
Quindi, a priori è impossibile dire se un interprete ha il type checker? Dipende solo dal linguaggio in questione?
diciamo che se parliamo di interpreti di linguaggi di programmazione è un obbligo (esclusi alcuni i linguaggi tipo assemblatore per hardware semplici), ma in teoria un interprete di lingua italiana non dovrebbe avere type checker, almeno io lo programmerei senza.
Non so se è esatto dire "dipende dal linguaggio", forse sarebbe piu corretto dire che dipende dall'implementazione dell'interprete, visto che in teoria è possibile scrivere un interprete monolitico.
Infine direi che , ma qui scendo nella filosofia, un linguaggio tipato potrebbe anche non avere alcun type checking, lasciando al programmatore il compito di scrivere codice corretto per quanto riguarda i tipi definiti dal programma (valutandoli tutti come WORD macchina ad esempio), e lasciano che il programma abbia un comportamento indefinito in caso contrario (si scambia una variabile che contiene un puntatore a stringa per un intero), in parte il linguaggio C ha un compilatore che si comporta in modo simile con un controllo statico sui tipi quasi nullo e un controllo nullo a runtime.