"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComponenteLinguagem = void 0;
/**
 * Construto especial utilizado para especificar o tipo de
 * estruturas reservadas da linguagem.
 */
class ComponenteLinguagem {
    constructor(hashArquivo, simbolo) {
        this.hashArquivo = hashArquivo;
        this.linha = simbolo.linha;
        this.valor = simbolo.lexema;
    }
    aceitar(visitante) {
        throw new Error('Um componente de linguagem não tem método de visita.');
    }
    paraTexto() {
        return `<componente-linguagem valor=${this.valor} />`;
    }
    paraTextoSaida() {
        throw new Error('Método não implementado.');
    }
}
exports.ComponenteLinguagem = ComponenteLinguagem;
//# sourceMappingURL=componente-linguagem.js.map