Condividi tramite


Valutazione delle espressioni e di Common Language Runtime

Compilatori, ad esempio Visual Basic e c# (pronunciato c sharp compilazione), che Common Language (CLR) Runtime, prodotti Microsoft Intermediate Language (MSIL), che sono successivamente compilato in codice nativo. CLR fornisce un motore di debug (DE) per eseguire il debug del codice. Se si desidera integrare il linguaggio di programmazione privato nell'IDE di Visual Studio, è possibile scegliere di compilazione in MSIL e pertanto non è necessario scrivere per contenere il DE. Tuttavia, sarà necessario scrivere un analizzatore di (EE) espressioni che consenta di valutazione di espressioni nel contesto del linguaggio di programmazione.

Descrizione

Espressioni in linguaggio di programmazione analizzate in genere per produrre oggetti di un dataset e un set di operatori utilizzati per modificarli. Ad esempio, l'espressione “A+B„ può essere analizzata per applicare l'operatore addizione (+) agli oggetti dati “A„ e “B„, possibilmente con un altro oggetto dati. Il set di dati totali oggetti, operatori e le associazioni più di frequente sono rappresentate in un programma quale albero, con gli operatori ai nodi della struttura ad albero e gli oggetti dati nei rami. Un'espressione che è stata suddivisa nel formato struttura ad albero spesso viene chiamata una struttura ad albero analizzato.

Una volta che un'espressione è stata analizzata, un provider del simbolo (SP) viene chiamato per valutare ogni oggetto dati. Ad esempio, se “A„ è definito in più di un metodo, la domanda “A„? deve essere una prima del valore di un oggetto può essere accertato di. La risposta restituita da SP è analogo a “il terzo elemento del quinto stack frame„ o “su un oggetto che è di 50 byte oltre l'inizio della memoria statica allocata a questo metodo.„

Oltre a generare codice MSIL per il programma stesso, i compilatori CLR possono anche scrivere le informazioni di debug molto descrittivi scritte in un file di database di programma (PDB). Finché un compilatore di privato-linguaggio scrive le informazioni di debug nello stesso formato dei compilatori di CLR, SP di CLR possibile identificare quel linguaggio denominato oggetti dati. Una volta creato un oggetto dati denominato è stato individuato, l'EE utilizza un oggetto del gestore di associazione al membro o all'associazione) l'oggetto dati nell'area di memoria che utilizza il valore di tale oggetto. Il DE quindi possibile ottenere o impostare un nuovo valore per l'oggetto dati.

Un compilatore brevettato può fornire informazioni di debug CLR chiamando l'interfaccia di ISymbolWriter (definita in.NET Framework nello spazio dei nomi System.Diagnostics.SymbolStore). Compilazione in MSIL e scrive le informazioni di debug tramite queste interfacce, un compilatore brevettato possibile utilizzare il CLR DE e SP. Ciò semplifica notevolmente l'integrazione del linguaggio privato nell'IDE di Visual Studio.

Quando CLR DE chiama l'EE privata per valutare un'espressione, il DE fornisce l'EE con le interfacce a uno SP e un oggetto del gestore di associazione. Pertanto, quindi scriverla su sistemi basati su CLR del modulo di debug è necessario distribuire solo le interfacce appropriate dell'analizzatore di espressioni; CLR consente infatti di associazione e gestione dei simboli per l'utente.

Vedere anche

Altre risorse

Scrittura dell'analizzatore di espressioni di Common Language Runtime