📄 编辑1
字号:
unit FatExpression;
{Source files:
C:\Downloads\dede 的源代码 3.10b\FatExpression\FatExpression.pas (2007-1-27 17:09:36)}
interface
uses
Math {
A:Power},
SysUtils {
A:Trim, T:Exception, A:.Exception, A:Exception.CreateFmt, A:FreeAndNil,
A:Exception.Create, A:UpperCase},
Dialogs,
Classes {
T:TList, T:TStringList, T:TComponent, A:.TComponent,
A:TComponent.DefineProperties, A:TComponent.Loaded,
A:TComponent.Notification, A:TComponent.ReadState,
A:TComponent.SetName, A:TComponent.UpdateRegistry,
A:TComponent.ValidateRename, A:TComponent.WriteState,
A:TComponent.QueryInterface, A:TComponent.BeforeDestruction,
A:TComponent.SafeCallException, A:TPersistent.AssignTo,
A:TPersistent.Assign, A:RegisterComponents, A:.TList, A:TList.Get,
A:TList.Delete, A:TList.Add, A:TList.Insert, A:.TStringList,
A:TComponent.Create, A:TComponent.Destroy},
SysInit,
System {
T:TObject, T:String, T:AnsiString, T:Double, T:Integer, T:Boolean,
A:.TObject, A:TObject.SafeCallException, A:TObject.AfterConstruction,
A:TObject.BeforeDestruction, A:TObject.Dispatch,
A:TObject.DefaultHandler, A:TObject.NewInstance,
A:TObject.FreeInstance, A:TObject.Destroy, A:Pos, A:@LStrPos,
A:@LStrCmp, A:TObject.Create, A:@ClassCreate, A:@AfterConstruction,
A:TObject.Free, A:@BeforeDestruction, A:@ClassDestroy, A:@LStrAsg,
A:@LStrClr, A:@HandleFinally, A:Val, A:@ValExt, A:@LStrAddRef,
A:Length, A:@LStrLen, A:Exit, A:False, A:Inc, A:True, A:@LStrFromChar,
A:@RaiseExcept, A:@LStrLAsg, A:@LStrCat, A:@LStrArrayClr, A:Assigned,
A:Dec, A:Break, A:@TryFinallyExit, A:SetLength, A:@DynArrayHigh,
A:High, A:@DynArraySetLength, A:@IsClass, A:@DynArrayClear, A:Round,
A:@ROUND, A:Copy, A:@LStrCopy, A:Delete, A:@LStrDelete, A:Continue,
A:@FinalizeArray};
const
ttNone = {T#B}TTokenType($0);
ttNumeric = {T#B}TTokenType($1);
ttParenthesis = {T#B}TTokenType($2);
ttOperation = {T#B}TTokenType($3);
ttString = {T#B}TTokenType($4);
ttParamDelimitor = {T#B}TTokenType($5);
type
TTokenType=TTokenType;
const
eoInternalFirst = {T#C}TEvaluateOrder($0);
eoEventFirst = {T#C}TEvaluateOrder($1);
type
TEvaluateOrder=TEvaluateOrder;
TOnEvaluate=TOnEvaluate;
TExpToken=TExpToken;
TExpParser=TExpParser;
TExpNode=TExpNode;
TFunction=TFunction;
TFatExpression=TFatExpression;
procedure Register;
procedure TExpParser.Create (Self: TExpParser; _Dv_: ?);
procedure TExpParser.Destroy (Self: TExpParser; _Dv_: ?);
procedure TExpParser.Clear (Self: TExpParser);
procedure TExpParser.SetExpression (Self: TExpParser;
Value: System.AnsiString);
function TExpParser.GetToken (Self: TExpParser; Index: System.Integer):
TExpToken;
function TExpParser.ReadFirstToken (Self: TExpParser): TExpToken;
function TExpParser.ReadNextToken (Self: TExpParser): TExpToken;
function TExpParser.TokenCount (Self: TExpParser): System.Integer;
procedure TExpNode.Create (Self: TExpNode; _Dv_: ?; AOwner: System.TObject;
AParent: TExpNode; Tokens: Classes.TList);
procedure TExpNode.Destroy (Self: TExpNode; _Dv_: ?);
procedure TExpNode.RemoveSorroundingParenthesis (Self: TExpNode);
procedure TExpNode.Build (Self: TExpNode);
function TExpNode.ParseFunction (Self: TExpNode): System.Boolean;
procedure TExpNode.SplitToChildren (Self: TExpNode;
TokenIndex: System.Integer);
function TExpNode.GetChildren (Self: TExpNode; Index: System.Integer):
TExpNode;
function TExpNode.FindLSOTI (Self: TExpNode): System.Integer;
function TExpNode.Evaluate (Self: TExpNode): System.Double;
function TExpNode.Calculate (Self: TExpNode): System.Double;
function TExpNode.GetToken (Self: TExpNode; Index: System.Integer):
TExpToken;
function TExpNode.TokenCount (Self: TExpNode): System.Integer;
procedure TFunction.Create (Self: TFunction; _Dv_: ?;
AOwner: System.TObject);
procedure TFunction.Destroy (Self: TFunction; _Dv_: ?);
function TFunction.Call (Self: TFunction; Values: ?; _Dv_: ?):
System.Double;
procedure TFunction.EvalArgs (Self: TFunction; Sender: System.TObject;
Eval: System.AnsiString; Args: ?; _Dv_: ?; ArgCount: System.Integer;
var Value: System.Double);
procedure TFunction.SetAsString (Self: TFunction;
Value: System.AnsiString);
procedure TFatExpression.Create (Self: TFatExpression; _Dv_: ?;
AOwner: Classes.TComponent);
procedure TFatExpression.Destroy (Self: TFatExpression; _Dv_: ?);
procedure TFatExpression.Compile (Self: TFatExpression);
function TFatExpression.FindFunction (Self: TFatExpression;
FuncName: System.AnsiString): TFunction;
procedure TFatExpression.SetInfo (Self: TFatExpression;
Value: System.AnsiString);
procedure TFatExpression.Evaluate (Self: TFatExpression;
Eval: System.AnsiString; Args: ?; _Dv_: ?; var Value: System.Double);
function TFatExpression.GetValue (Self: TFatExpression): System.Double;
procedure TFatExpression.SetFunctions (Self: TFatExpression;
Value: Classes.TStringList);
procedure Finalization;
implementation
uses
Forms;
var
_DV_7: ?;
const
STR_OPERATION =
0:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -