浏览代码

Remove Ispp funcs from CompTypes

KngStr 11 年之前
父节点
当前提交
73777a9bff
共有 2 个文件被更改,包括 101 次插入111 次删除
  1. 1 111
      Projects/CompTypes.pas
  2. 100 0
      Projects/ISCC.dpr

+ 1 - 111
Projects/CompTypes.pas

@@ -12,7 +12,7 @@ unit CompTypes;
 interface
 
 uses
-  Windows, SysUtils, Registry, Classes, IsppBase, IsppIntf;
+  Windows, SysUtils, Registry, Classes;
 
 type
   TConfigIniFile = class(TRegIniFile)
@@ -24,87 +24,11 @@ type
     destructor Destroy; override;
   end;
 
-procedure PopulateOptions(var Options: TOptions; Symbol: Char);
-function IsParam(const S: String): Boolean;
-function FindParam(var Index: Integer; Symbols: String): String;
-function GetParam(var S: String; Symbols: String): Boolean;
-function ConvertOptionsToString(const Options: TOptions): String;
-procedure AppendOption(var Opts: String; const OptName, OptValue: String);
 procedure ReadSignTools(SignTools: TStringList);
 function AddSignToolParam(Sign: string): string;
-procedure InitIsppOptions(var Opt: TIsppOptions; var Definitions, IncludePath: String);
-procedure IsppOptionsToString(var S: String; Opt: TIsppOptions; Definitions, IncludePath: String);
 
 implementation
 
-uses CmnFunc2;
-
-procedure PopulateOptions(var Options: TOptions; Symbol: Char);
-var
-  I: Integer;
-  S: String;
-begin
-  for I := 1 to NewParamCount do
-  begin
-    S := NewParamStr(I);
-    if Length(S) = 4 then
-      if ((S[1] = '/') or (S[1] = '-')) and (UpCase(S[2]) = Symbol) then
-        case S[4] of
-          '-': SetOption(Options, S[3], False);
-          '+': SetOption(Options, S[3], True)
-        else
-          raise Exception.CreateFmt('Invalid command line option: %s', [S]);
-        end;
-  end;
-end;
-
-function IsParam(const S: String): Boolean;
-begin
-  Result := (Length(S) >= 2) and ((S[1] = '/') or (S[1] = '-'));
-end;
-
-function GetParam(var S: String; Symbols: String): Boolean;
-begin
-  Result := IsParam(S) and
-    (CompareText(Copy(S, 2, Length(Symbols)), Symbols) = 0);
-  if Result then
-    S := Copy(S, 2 + Length(Symbols), MaxInt);
-end;
-
-function FindParam(var Index: Integer; Symbols: String): String;
-var
-  I: Integer;
-  S: String;
-begin
-  for I := Index to NewParamCount do
-  begin
-    S := NewParamStr(I);
-    if IsParam(S) and (CompareText(Copy(S, 2, Length(Symbols)), Symbols) = 0) then
-    begin
-      Result := Copy(S, 2 + Length(Symbols), MaxInt);
-      Index := I + 1;
-      Exit;
-    end;
-  end;
-  Index := MaxInt;
-  Result := '';
-end;
-
-function ConvertOptionsToString(const Options: TOptions): String;
-var
-  I: TOptionID;
-begin
-  Result := '';
-  for I := 0 to 25 do
-    if I in Options then
-      Result := Result + Chr(Ord('a') + I);
-end;
-
-procedure AppendOption(var Opts: String; const OptName, OptValue: String);
-begin
-  Opts := Opts + OptName + '=' + OptValue + #0;
-end;
-
 procedure ReadSignTools(SignTools: TStringList);
 var
   Ini: TConfigIniFile;
@@ -132,40 +56,6 @@ begin
   Result := 'SignTool-' + Sign + #0;
 end;
 
-procedure InitIsppOptions(var Opt: TIsppOptions; var Definitions, IncludePath: String);
-begin
-  with Opt do
-  begin
-    SetOption(Options, 'C', True);
-    SetOption(ParserOptions.Options, 'B', True);
-    SetOption(ParserOptions.Options, 'P', True);
-    VerboseLevel := 0;
-    InlineStart := '{#';
-    InlineEnd := '}';
-
-    PopulateOptions(Options, '$');
-    PopulateOptions(ParserOptions.Options, 'p');
-  end;
-
-  Definitions := 'ISPPCC_INVOKED';
-  IncludePath := ExtractFileDir(NewParamStr(0));
-end;
-
-procedure IsppOptionsToString(var S: String; Opt: TIsppOptions; Definitions, IncludePath: String);
-begin
-  with Opt do
-  begin
-    AppendOption(S, 'ISPP:ParserOptions', ConvertOptionsToString(ParserOptions.Options));
-    AppendOption(S, 'ISPP:Options', ConvertOptionsToString(Options));
-    AppendOption(S, 'ISPP:VerboseLevel', IntToStr(VerboseLevel));
-    AppendOption(S, 'ISPP:InlineStart', String(InlineStart));
-    AppendOption(S, 'ISPP:InlineEnd', String(InlineEnd));
-  end;
-
-  AppendOption(S, 'ISPP:IncludePath', IncludePath);
-  AppendOption(S, 'ISPP:Definitions', Definitions);
-end;
-
 { TConfigIniFile }
 
 constructor TConfigIniFile.Create;

+ 100 - 0
Projects/ISCC.dpr

@@ -48,6 +48,106 @@ var
   IsppOptions: TIsppOptions;
   IsppMode: Boolean;
 
+procedure PopulateOptions(var Options: TOptions; Symbol: Char);
+var
+  I: Integer;
+  S: String;
+begin
+  for I := 1 to NewParamCount do
+  begin
+    S := NewParamStr(I);
+    if Length(S) = 4 then
+      if ((S[1] = '/') or (S[1] = '-')) and (UpCase(S[2]) = Symbol) then
+        case S[4] of
+          '-': SetOption(Options, S[3], False);
+          '+': SetOption(Options, S[3], True)
+        else
+          raise Exception.CreateFmt('Invalid command line option: %s', [S]);
+        end;
+  end;
+end;
+
+function IsParam(const S: String): Boolean;
+begin
+  Result := (Length(S) >= 2) and ((S[1] = '/') or (S[1] = '-'));
+end;
+
+function GetParam(var S: String; Symbols: String): Boolean;
+begin
+  Result := IsParam(S) and
+    (CompareText(Copy(S, 2, Length(Symbols)), Symbols) = 0);
+  if Result then
+    S := Copy(S, 2 + Length(Symbols), MaxInt);
+end;
+
+function FindParam(var Index: Integer; Symbols: String): String;
+var
+  I: Integer;
+  S: String;
+begin
+  for I := Index to NewParamCount do
+  begin
+    S := NewParamStr(I);
+    if IsParam(S) and (CompareText(Copy(S, 2, Length(Symbols)), Symbols) = 0) then
+    begin
+      Result := Copy(S, 2 + Length(Symbols), MaxInt);
+      Index := I + 1;
+      Exit;
+    end;
+  end;
+  Index := MaxInt;
+  Result := '';
+end;
+
+function ConvertOptionsToString(const Options: TOptions): String;
+var
+  I: TOptionID;
+begin
+  Result := '';
+  for I := 0 to 25 do
+    if I in Options then
+      Result := Result + Chr(Ord('a') + I);
+end;
+
+procedure AppendOption(var Opts: String; const OptName, OptValue: String);
+begin
+  Opts := Opts + OptName + '=' + OptValue + #0;
+end;
+
+procedure InitIsppOptions(var Opt: TIsppOptions; var Definitions, IncludePath: String);
+begin
+  with Opt do
+  begin
+    SetOption(Options, 'C', True);
+    SetOption(ParserOptions.Options, 'B', True);
+    SetOption(ParserOptions.Options, 'P', True);
+    VerboseLevel := 0;
+    InlineStart := '{#';
+    InlineEnd := '}';
+
+    PopulateOptions(Options, '$');
+    PopulateOptions(ParserOptions.Options, 'p');
+  end;
+
+  Definitions := 'ISPPCC_INVOKED';
+  IncludePath := ExtractFileDir(NewParamStr(0));
+end;
+
+procedure IsppOptionsToString(var S: String; Opt: TIsppOptions; Definitions, IncludePath: String);
+begin
+  with Opt do
+  begin
+    AppendOption(S, 'ISPP:ParserOptions', ConvertOptionsToString(ParserOptions.Options));
+    AppendOption(S, 'ISPP:Options', ConvertOptionsToString(Options));
+    AppendOption(S, 'ISPP:VerboseLevel', IntToStr(VerboseLevel));
+    AppendOption(S, 'ISPP:InlineStart', String(InlineStart));
+    AppendOption(S, 'ISPP:InlineEnd', String(InlineEnd));
+  end;
+
+  AppendOption(S, 'ISPP:IncludePath', IncludePath);
+  AppendOption(S, 'ISPP:Definitions', Definitions);
+end;
+
 procedure WriteToStdHandle(const H: THandle; S: AnsiString);
 var
   BytesWritten: DWORD;