?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, expr, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
function GetFuncValue(const FuncName, FuncParams: string): Double;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
yacc: TYacc;
Lex: TLex;
B: SmallInt;
begin
if Trim(Edit1.Text) = '' then Exit;
yacc := TYacc.Create;
Lex := TLex.Create;
yacc.ylex := Lex;
Lex.llib.yyinput := Edit1.Text + ';';
yacc.GetFuncValue := GetFuncValue;
if yacc.yyparse = 0 then
Memo1.Lines.Add(Lex.llib.yyoutput);
end;
function TForm1.GetFuncValue(const FuncName, FuncParams: string): Double;
begin
if (FuncName = 'TESTFUNC') then
Result := sqr(StrToFloat(FuncParams));
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -