misc/ICLX.PAS

1.5 KB 9484f0eb3f72c671…
Program iclCompiler;
        uses crt,dos,skashit,gensubs;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
const
 xIclRevision   = '.0001';
 xIclDate       = '??/??/??';
 xIclAuthor     = 'Grant Passmore (skaboy101@mindless.com) / Infusion BBS';
 xMaxProcedures = 99;
 xMaxVariables  = 99;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
type
 xProcedureRec  = record
  ProcedureID   : word;
  ProcedureStr  : string[15];
  TotalParams   : byte;
  ParamTypes    : array[0..9] of char;  {i,s,c,f}
  end;
 xVariableRec   = record
  VariableID    : word;
  VariableStr   : string[30];
  VariableType  : char;
  end;
 xProcArray     = array[0..xMaxProcedures] of xProcedureRec;
 xVarArray      = array[0..xMaxVariables] of xVariableRec;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
var
 xProcedureData : ^xProcArray;
 xVariableData  : ^xVarArray;
 xTtlProcedures : 0..xMaxProcedures;
 xTtlVariables  : 0..xMaxVariables;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Procedure xInitMem(init : boolean);
 begin
  if (init=true) then
   begin
   new(xProcedureData); fillChar(xProcedureData^,sizeOf(xProcedureData^),0);
   new(xVariableData);  fillChar(xVariableData^,sizeOf(xVariableData^),0);
   end else
    begin
    dispose(xProcedureData);
    dispose(xVariableData);
    end;
 end;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Procedure xAddSystemType(section : byte;