Analisador lexico e sintático

Estou desenvolvendo um analisador lexico e sintático e gostaria de saber qual o componente que aceita ter cada palavra de uma cor e sublinhada… tipo eclipse ou netbeans… :?:

Ora, gere um HTML e use um dos componentes que suporta HTML do Swing. Então, para sublinhar, deixar em verde, itálico, negrito e outras coisas mais, simplesmente use as tags adequadas.

Você conhece algum componente que aceite tags html???

http://java.sun.com/docs/books/tutorial/uiswing/components/html.html

Você acha que esse componente é muito lento para aplicações comerciais?

Bom, o Swing inteirinho é uma carroça :stuck_out_tongue:

É realmente fácil checar se o desempenho vai ser inaceitável. Pegue um código Java qualquer que você quer visualizar, converta-o para HTML (manualmente ou via seu programa, já que o Swing aceita um subconjunto muito limitado do HTML) e mostre-o em um JLabel. Depois você conta como é que foi.

Estou montando um analisardo lexico/sintático para algumas linguagens para mainframe que não possuem ide… por isso estou preocupado com o desempenho…

Como será que foi feito o eclipse?

Que legal, você poderia montar um plugin para o Eclipse ou o NetBeans que pudesse editar essas tais linguagens com “code completion”, “syntax highlighting” etc.
(Parece que montar plugins para o NetBeans é mais fácil).
Aí você pegaria toda a infraestrutura que já tem pronta para isso.
Por exemplo, nem a Borland tem mais cacife para montar ela sozinha uma IDE (o JBuilder). Ela agora só escreve plugins para o Eclipse.

Seria comercial vender plugins… isso não tiraria a credibilidade do seu produto?

A IBM vende um pacotão de plugins para o Eclipse chamado antigamente de WSAD (WebSphere Application Developer) e hoje em dia de RAD (Rational Application Developer).
Outras empresas fornecem plugins comercialmente para o Eclipse - veja uma lista em Eclipse Plugin Resource Center and Marketplace
Assim como outras empresas fornecem plugins comercialmente para o NetBeans - NetBeans Partners Program

Obrigado pela ajuda :wink: