informações sobre o SynEdit

Delphi

01/03/2005

1º tem algo mais sofisticado?
2º construi um interpretador e estou usando o synedit, mas quero também colocar hint nos erros que eu apontar (ou seja hint em palavras), tem como fazer?

Quero trocar mensagem com alguém que domine compiladores e synedit.

valeu


Jonnymarques

Jonnymarques

Curtidas 0

Respostas

Beppe

Beppe

01/03/2005

1) Mais? :shock:
2) Calcule a palavra sob o cursor(tem funções para isso no controle) e mostre o hint(na própria VCL tem)

PS: Eu entendo alguma coisa sobre compiladores - escrevi um compilador para Brainf*ck(a linguagem é simples) e um interpretador de Pascal(né grande coisa, foi o primeiro que eu fiz)


GOSTEI 0
Jonnymarques

Jonnymarques

01/03/2005

Pois tenho duas dúvidas.

Como faço para calcular isso...

a <- 2*(2+num2)/(10/(5-num1))

o problema está sendo os parenteses. Como fazer

Também tô tendo dificuldades com isso...

se (a>0) entao
inicio

fim
senao

... neste caso como posso controlar a entrada no bloco inicio/fim etc.

Em suma estou tentando fazer um interpretador para uma linguagem em português e não faço esta matéria na faculdade.

PRECISO DE AJUDA :(


GOSTEI 0
Beppe

Beppe

01/03/2005

1) Vc trata os parenteses como se fosse um único valor. Na rotina que reconhece os primários(literal, variavel), coloque um caso a mais para ´(´´. Ali vc avança o ´(´, chama a rotina principal(tipo ReconheceExpressao) que tratará de obter a expressão entre parenteses, então vc deve checar por um ´)´ e avançar.

2) inicio/fim é semelhante à ( e ). Quando chegar no [b:3fbb219b2a]inicio[/b:3fbb219b2a], chame novamente a rotina principal(como ReconheceComando), e ela faz o trabalho.


GOSTEI 0
POSTAR