A representation of types, type-checker, method and compiler are provided
for checking consistency in various forms of an intermediate language.
Specifically, the typed intermediate language is suitable for use in
representing programs written in multiple (heterogeneous) source
languages including typed and untyped languages, loosely and strongly
typed languages, and languages with and without garbage collection.
Additionally, the type checker architecture is extensible to handle new
languages with different types and primitive operations. The
representation of types can be implemented as a data structure that
represents two or more sets of types with one or more sub-structures for
representing classifications of types. Alternatively, the type system can
be implemented as a base class at the top of a hierarchy and a plurality
of classes hierarchically below the base class can be defined to
represent a number of types such as pointer types, container types, and
function types.
Una rappresentazione dei tipi, l'tipo-ispettore, il metodo ed il compilatore sono forniti per il controllo della consistenza in varie forme di una lingua intermedia. Specificamente, la lingua intermedia scritta è adatta ad uso nel rappresentare i programmi scritti nelle lingue di partenza (eterogenee) multiple compreso le lingue scritte e non archiviate, le lingue senza bloccare e fortemente scritte e le lingue con e senza l'accumulazione dell'immondizia. Ulteriormente, il tipo architettura dell'ispettore è estendibile maneggiare le nuove lingue con differenti tipi e funzionamenti primitivi. La rappresentazione dei tipi può essere effettuata come struttura di dati che rappresenta due o più insiemi dei tipi con una o più sottostrutture per rappresentare le classificazioni dei tipi. Alternativamente, il tipo sistema può essere effettuato come codice categoria basso alla parte superiore di una gerarchia e una pluralità di codici categoria gerarchico sotto il codice categoria basso può essere definita per rappresentare un certo numero di tipi quali i tipi dell'indicatore, i tipi del contenitore ed i tipi di funzione.