Consideriamo*un linguaggio, che chiamiamo SimpleC, ottenuto dal linguaggio C applicando le seguenti restrizioni:
esistono solo 2 tipi di dati: int e float. La rappresentazione di un intero occupa una locazione di memoria, mentre quella di un floating point ne occupa 2;
le uniche istruzioni ammesse nel linguaggio sono le dichiarazioni di variabili e procedure e le chiamate di procedura;
non è supportata nè la ricorsione, nè la mutua ricorsione. Una procedura p ne può chiamare un'altra p' a patto che p' sia stata definita prima di p;
lo schema sintattico di un programma prevede prima l'implementazione di tutte le procedure utilizzate e quindi l'implementazione del programma principale;
è possibile utilizzare blocchi annidati.
Scrivere un programma in C che prenda in input un programma scritto in SimpleC e stabilisca se è corretto o meno (segnalando, eventualmente, la posizione del primo errore riscontrato) e, in caso affermativo, stabilisca anche se il programma riesce a girare su una memoria formata da alpiù 50 locazioni.
mi sono imbattuto in questo esercizio ma non so come fare chi mi può aiutare?
esistono solo 2 tipi di dati: int e float. La rappresentazione di un intero occupa una locazione di memoria, mentre quella di un floating point ne occupa 2;
le uniche istruzioni ammesse nel linguaggio sono le dichiarazioni di variabili e procedure e le chiamate di procedura;
non è supportata nè la ricorsione, nè la mutua ricorsione. Una procedura p ne può chiamare un'altra p' a patto che p' sia stata definita prima di p;
lo schema sintattico di un programma prevede prima l'implementazione di tutte le procedure utilizzate e quindi l'implementazione del programma principale;
è possibile utilizzare blocchi annidati.
Scrivere un programma in C che prenda in input un programma scritto in SimpleC e stabilisca se è corretto o meno (segnalando, eventualmente, la posizione del primo errore riscontrato) e, in caso affermativo, stabilisca anche se il programma riesce a girare su una memoria formata da alpiù 50 locazioni.
mi sono imbattuto in questo esercizio ma non so come fare chi mi può aiutare?