Editor com syntax highlight

Olá pessoal,
Escrevi um editor com syntax highlight para a minha aplicação e estou
tornando-o disponível no sourceforge:

O editor utiliza ANTLR para reconhecer as palavras chaves da linguagem, bem como os tipos de dados, comentários, etc.

Ele é facilmente adaptável para qualquer linguagem. A gramática vem inicialmente preparada para a edição de arquivos java.

Divirtam-se!!

Show de bola véiooooo!!!
Parabéns!

Obrigado Alexandre!
Espero ter contribuido para a comunidade.

Grande abraço,
André

Muito legal! Agora só tá faltando ter os mesmos recursos do eclipse, mas continuando leve e fácil de embarcar! ahhahahahahhhahaha

Muito bom seu trabalho, gostei do recurso das palavras chave, por falar nisso vc poderia passar alguma referencia de como fazer isso, se puder agradeço.

Parabéns.

Olá m4des, como eu disse eu utilizei o ANTLR para fazer o parser do arquivo.
Você encontra algumas referências no release notes do projeto em:

Pode deixar, vou trabalhar nisso ViniGodoy :slight_smile:

Obrigado Andre, ja ajudou bastante!

Mais uma vez parabens pelo trabalho.

Beleza Anlugifa.
Estava olhando seu interpretador e tive uma duvida.
Vc colocou so o ponto class?

GOSTARIA DE SABER COMO ELE FUNCIONA, POIS NAO CONSIGUI EXECUTAR O SEU INTERPRETADOR

AGUARDO RESPOSTA, FALOU

André, muito bom, mas seria aconselhável a postar no .Zip um readme para o pessoal não ficar perdido, dizendo tudo o que ele faz! :thumbup:

Só uma pergunta … porquê é :

JEditor editor = JEditor.getInstance();

e não

JEditor editor =  new JEditor();

Qual é a necessidade de usar um método de fabrica ?

[quote=gpd38]Beleza Anlugifa.
Estava olhando seu interpretador e tive uma duvida.
Vc colocou so o ponto class?

GOSTARIA DE SABER COMO ELE FUNCIONA, POIS NAO CONSIGUI EXECUTAR O SEU INTERPRETADOR

AGUARDO RESPOSTA, FALOU[/quote]

Os fontes estão no jar. Estranho não ter executado, verifique se o seu sistema operacional está configurado corretamente para executar arquivos .jar. Tente fazer na linha de comando java -jar editor.jar e verifique o erro.
Abraços

Oi Ironlynx, os readme está no release notes do próprio sourceforge.
Mesmo assim, obrigado pela dica.

[quote=sergiotaborda]Só uma pergunta … porquê é :

JEditor editor = JEditor.getInstance();

e não

JEditor editor =  new JEditor();

Qual é a necessidade de usar um método de fabrica ?[/quote]

Olá sergiotaborda!
A instancia do editor era usada vária vezes dentro do programa, pos isso o tornei um singleton. Mas esse editor está bem modificado e já sofreu diversas modificações. Infelizmente não vou tornar disponível as novas versões, pois a empresa que trabalho o está utilizando. E isso acarreta em direitos autorais.

A idéia era mostrar uma utilização do ANTLR. Estou escrevendo um artigo sobre essa ferramenta no meu blog farinha.wordpress.com, ainda não finalizei e a idéia é mostrar o editor como um exemplo prático.

Abraços

Parabéns Anlugifa ! :wink:
Ficou bem interessante, depois quando eu estiver com mais tempo vou parar para dar uma olhada nos fontes…
Já coloquei no meu pen drive, vai ser bastante útil para fazer algo rápido e simples onde não haja a necessidade de todos os recursos de uma grande IDE :smiley:

Show de bola,
[]s

[quote=paulovittor23]Parabéns Anlugifa ! :wink:
Ficou bem interessante, depois quando eu estiver com mais tempo vou parar para dar uma olhada nos fontes…
Já coloquei no meu pen drive, vai ser bastante útil para fazer algo rápido e simples onde não haja a necessidade de todos os recursos de uma grande IDE :smiley:

Show de bola,
[]s[/quote]

Obrigado Paulo Vitor,
Infelizmente não vou colocar no sourceforge a versão mais nova com identação automática, tabspaces, etc.
Mas a idéia é justamente essa, ver a potencialidade do ANTLR.
Qualquer coisa estamos aí, abraços.

Eaê, Anlugifa, blz?

Estou trabalhando em um projeto (http://code.google.com/p/algostep) na UnB (www.unb.br) que implementa um interpretador de algoritmos.

Para tal, precisamos de uma caixa de texto que contenha highlighting de Pascal. Você poderia detalhar para mim como posso usar seu trabalho para criar um componente, algo como um JTextArea, que faça isso?

Tentei dar uma analisada no seu código mas estou enfrentando algumas dificuldades… Por exemplo, o que é o pacote antlr? Como posso utilizá-lo em um projeto do eclipse?

Pode me dar umas dicas de como fazer a caixa de texto?

Obrigado!

Cara, muito bom mesmo este editor, porem a unica coisa que acho que está realmente faltando nele é comentários no código.

Peguei o codigo para ver se conseguia entender, porem quase que não tem comentários nos fontes. Mesmo o codigo estando muito bem escritos, acho que está faltando comentários para que outras pessoas consigam compreender para que serve oque.

Opa estou tentando utilizar seu editor mais está dando um exception, o engraçado é que abri o jar e a classe está lá.

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: com/anlugifa/editor/ui/JAbout
at com.alps.siabfacil.view.panels.JPanelSubjetivo.<init>(JPanelSubjetivo.java:127)
at com.alps.siabfacil.view.atendimento.AtendimentoMedicoPanel.<init>(AtendimentoMedicoPanel.java:112)
at com.alps.siabfacil.app.FrameTest.<init>(FrameTest.java:65)
at com.alps.siabfacil.app.FrameTest$1.run(FrameTest.java:72)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: com.anlugifa.editor.ui.JAbout
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
… 18 more

Flavio, engraçado, pois rodei normalmente agora.

Estou usando o Debian Squeeze 32 bits e chamei o .jar pelo terminal normalmente.