Interpretador de comando.

Delphi

22/12/2005

Alguem tem ou sabe fazer um interpretador de comando??
Tipo:

procedure... 
var
  Str : String;
begin
  Str := ´WinExec( calc.exe , sw_normal ) ´;
  Interpreta ( Str ) ;
end;


Dai a funcao Interpreta execua o winexec, mas naum vale colocar um montaum de if dentro da funcao Interpreta pra saber o q deve ser executado.

Fica ae a pergunta (eu consideraria um desafio).

Abraços


Aloizio Castro

Aloizio Castro

Curtidas 0

Respostas

Pain_elemental

Pain_elemental

22/12/2005

Alguem tem ou sabe fazer um interpretador de comando?? Tipo:
procedure... 
var
  Str : String;
begin
  Str := ´WinExec( calc.exe , sw_normal ) ´;
  Interpreta ( Str ) ;
end;
Dai a funcao Interpreta execua o winexec, mas naum vale colocar um montaum de if dentro da funcao Interpreta pra saber o q deve ser executado. Fica ae a pergunta (eu consideraria um desafio). Abraços


voce tem que fazer um subsistema para interpretar, com um registro de funcoes e informacoes de como executar.

eu fiz e uso um parser para dar extensibilidade aos meus aplicativos, e para a parte de funcoes da api ou importadas de dll´s eu crio um xml com as informacoes de nome da funcao, valor de retorno, parametros, dll e pono de entrada nessa dll para a funcao e o parser (interpretador) quando ve que é uma chamada de função ele ve nesses xmls como executar a funcao e a executa. Mas acho q eh algo um pouco extenso para ser discutido num forum. Existem interpretadores e linguagens de scripts que podem fazer isso para voce, mas nao creio que seja isso o que voce quer.


GOSTEI 0
Aloizio Castro

Aloizio Castro

22/12/2005

Entendi completamente o q vc disse, mas acho q naum preciso de algo taum complexo, pois os camando q pretendo interpretar, saum todos existentes no delphi.....
Seria esta a unica soluçao?


GOSTEI 0
Dopi

Dopi

22/12/2005

Acho que já existem pacotes de componentes que fazem algo semelhante.

[url=http://www.fast-report.com/en/products/products.php?BID=24]Fast-Script[/url] (Comercial)

[url=http://www.remobjects.com/page.asp?id={9A30A672-62C8-4131-BA89-EEBBE7E302E6}]Pascal Script[/url] (Free)


GOSTEI 0
Pain_elemental

Pain_elemental

22/12/2005

Existem interpretadores e linguagens de scripts que podem fazer isso para voce


Para algo simples eu iria citar o PascalScript, mas acho que ele nao vai atender às suas necessidades de funcoes da api. Você terá que adicioná-las 1 a 1 no pascal script, mas com creio que serão poucas, acho que atenderá as suas necessidades.


GOSTEI 0
POSTAR