informações sobre o SynEdit
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
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
Curtidas 0
Respostas
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)
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
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 :(
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
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.
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