⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 编辑1

📁 dede 的源代码 3.10b
💻
字号:
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 + -