Pergunta

Sei que você não gosta de ajudar os outros na lição de casa, mas tenho que fazer uma gramática xtext, escrever um código de exemplo que corresponda a essa gramática e compilá -lo com um arquivo HTML.

O professor nos mostrou as etapas e tudo funcionou para ele ... ele disse: "É tão simples que será um trabalho de 10 minutos para você". E eu acreditei nisso. No entanto, em casa quase nada funciona como esperado. E, é claro, não há mais palestras para fazer apenas o exame me onde tenho que mostrar o que fiz para passar. Além disso, o e-mail que o mandei se recuperou pelo Mailer-Demon ...

Recebi o XText junto com o Eclipse IDE no site do XText e o desempacotei e segui as etapas do tutureiro oficial para obter o modelo de projeto padrão para funcionar. O tutorial é encontrado aqui: http://wiki.eclipse.org/xtext/gettingstarted

Agora estou na etapa "Modelo". Diz que abra o "mymodel.mydsl", eu faço isso, mas o editor não abriu. Disse:

"Não foi possível abrir o editor: a classe do editor não pôde ser instanciada. Isso geralmente indica um construtor sem arg ou que o nome da classe do editor foi enevoado no plugin.xml".

Como tudo é gerado, a mensagem de erro não me ajudou ... havia uma opção para olhar para o rastreamento da pilha (tinha milha de comprimento) e, no topo, houve uma exceção:

java.lang.illegalStateException: O pacote ainda não foi ativado. Certifique-se de que o manifesto.MF contém 'pacote de ativação da policéia: preguiçoso'.

Abri a manifestou.mf e a ativação da pacote Policy: Lazy estava definido ...

Pesquisei no Google para a solução, mas sem sucesso. Isso me deixou louco e eu desisti.

Não tenho experiência com Eclipse e Java e Xtext, só quero fazer minha lição de casa e esquecer tudo até que eu precise dele novamente ...

Alguém tem experiência com o Xtext?

Qualquer ajuda apreciada.

PS: Eu também estarei nisso e posso resolver o problema em várias horas. Mas agora estou perdido.

Foi útil?

Solução 3

Finalmente pude resolver o problema. Percebi que posso pular toda a etapa de implantação que não preciso fazer o plug -in de verificação de sintaxe para o meu DSL. Descobri que fazer as coisas funcionarem de que preciso atribuir todos os meus tokens.

Então

SomeDeclaration:
   'declare' STRING

está bem formado xtext, mas não funcionará quando eu compilar meu idioma. Isso causará muitos erros misteriosos ...

SomeDeclaration
    'declare' declaredStuff=STRING

vai.

Foi um longo prazo ... Fiz um trabalho de 10 minutos por 8 horas ...

Espero que isso ajude outras pessoas a começar com o Xtext.

Outras dicas

Parece haver um problema na sua instalação Eclipse/XText. Como você o instalou? Se você obteve o Eclipse e adicionou o plug -in depois, precisará garantir que as versões sejam compatíveis.

Há uma distribuição agrupada aqui

Uma possibilidade: na etapa de implantação, verifique se você realmente criou três plugins olhando para o diretório de instalação do Xtext, dentro da pasta Plugins? Se eles forem colocados em um local diferente, você poderá movê -los para a pasta dos plugins. E você reiniciou o XText Eclipse depois de instalar esses plugins? A plataforma não reconhecerá esses plugins (e editor MyDSL), a menos que você o reinicie.

Eu estava obtendo exatamente os mesmos problemas (obtendo erro "não consegui abrir o editor: a classe do editor não pôde ser instanciada.") Quando tentei visualizar meu DSL no Eclipse.

Passei e tentei tudo para alterar os arquivos de configuração no Eclipse e no XText, mas sem sucesso.

Minha única solução foi reinstalar tudo. Estou executando uma versão de 64 bits do Windows (Vista de 64 bits), mas apenas 32 bits JVM e JDK. Então, esses, Eclipse e Xtext foram atualizados para as mais recentes versões de 64 bits e só então funcionou bem.

Suspeito que isso seja um problema com o Eclipse, em vez do XText, e a atualização do Helios (Eclipse de 64 bits) é provavelmente o que fez a diferença.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top