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

📄 synhighlighteradsp21xx.pas

📁 一个mwEdit控件原码,比mwCuuEdit0.92a功能先进.
💻 PAS
📖 第 1 页 / 共 3 页
字号:
begin
  if KeyComp('Do') then Result := tkKey
  else if KeyComp('and') then Result := tkKey
  else if KeyComp('ne') then Result := tkCondition
  else if KeyComp('mf') then Result := tkCondition
  else if KeyComp('pc') then Result := tkRegister
  else if KeyComp('ar') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func20: TTokenKind;
begin
  if KeyComp('ena') then Result := tkKey
  else if KeyComp('cache') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func21: TTokenKind;
begin
  if KeyComp('Of') then Result := tkKey
  else if KeyComp('sb') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func22: TTokenKind;
begin
  if KeyComp('abs') then Result := tkRegister
  else if KeyComp('eq') then Result := tkCondition
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func23: TTokenKind;
begin
  if KeyComp('In') then Result := tkKey
  else if KeyComp('av') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func24: TTokenKind;
begin
  if KeyComp('io') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func25: TTokenKind;
begin
  if KeyComp('ax0') then Result := tkRegister
  else if KeyComp('ax1') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func26: TTokenKind;
begin
  if KeyComp('ay0') then Result := tkRegister
  else if KeyComp('ay1') then Result := tkRegister
  else if KeyComp('neg') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func27: TTokenKind;
begin
  if KeyComp('by') then Result := tkKey
  else if KeyComp('gt') then Result := tkCondition
  else if KeyComp('lo') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func28: TTokenKind;
begin
  if KeyComp('call') then Result := tkKey
  else if KeyComp('si') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func29: TTokenKind;
begin
  if KeyComp('pm') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func30: TTokenKind;
begin
  if KeyComp('idle') then Result := tkKey
  else if KeyComp('ifdef') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func31: TTokenKind;
begin
  if KeyComp('seg') then Result := tkRegister
  else if KeyComp('mr') then Result := tkRegister
  else if KeyComp('mr0') then Result := tkRegister
  else if KeyComp('mr1') then Result := tkRegister
  else if KeyComp('mr2') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func32: TTokenKind;
begin
  if KeyComp('ram') then Result := tkRegister
  else if KeyComp('lt') then Result := tkCondition
  else if KeyComp('dis') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func33: TTokenKind;
begin
  if KeyComp('Or') then Result := tkKey
  else if KeyComp('circ') then Result := tkRegister
  else if KeyComp('name') then Result := tkKey
  else if KeyComp('clr') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func35: TTokenKind;
begin
  if KeyComp('mv') then Result := tkCondition else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func36: TTokenKind;
begin
  if KeyComp('rnd') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func37: TTokenKind;
begin
  if KeyComp('mx0') then Result := tkRegister
  else if KeyComp('mx1') then Result := tkRegister
  else if KeyComp('sr') then Result := tkRegister
  else if KeyComp('sr0') then Result := tkRegister
  else if KeyComp('sr1') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func38: TTokenKind;
begin
  if KeyComp('my0') then Result := tkRegister
  else if KeyComp('my1') then Result := tkRegister
  else if KeyComp('ss') then Result := tkCondition
  else if KeyComp('endif') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func39: TTokenKind;
begin
  if KeyComp('for') then Result := tkKey
  else if KeyComp('shl') then Result := tkKey
  else if KeyComp('clear') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func40: TTokenKind;
begin
  if KeyComp('sat') then Result := tkKey
  else if KeyComp('su') then Result := tkRegister
  else if KeyComp('us') then Result := tkCondition
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func41: TTokenKind;
begin
  if KeyComp('var') then Result := tkKey
  else if KeyComp('else') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func42: TTokenKind;
begin
  if KeyComp('emode') then
    Result := tkRegister
  else if KeyComp('rx0') then
    Result := tkRegister
  else if KeyComp('rx1') then
    Result := tkRegister
  else if KeyComp('uu') then
    Result := tkCondition
  else
    Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func43: TTokenKind;
begin
  if KeyComp('local') then Result := tkKey
  else if KeyComp('define') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func44: TTokenKind;
begin
  if KeyComp('set') then Result := tkKey
  else if KeyComp('tx0') then Result := tkRegister
  else if KeyComp('tx1') then Result := tkRegister
  else if KeyComp('ifndef') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func45: TTokenKind;
begin
  if KeyComp('Shr') then Result := tkKey
  else if KeyComp('nop') then Result := tkKey
  else if KeyComp('exp') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func46: TTokenKind;
begin
  if KeyComp('rom') then Result := tkKey
  else if KeyComp('aux') then Result := tkKey else
  Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func47: TTokenKind;
begin
  if KeyComp('rti') then Result := tkKey
  else if KeyComp('pop') then Result := tkKey else
  Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func49: TTokenKind;
begin
  if KeyComp('cntl') then Result := tkKey
  else if KeyComp('global') then Result := tkKey
  else if KeyComp('not') then Result := tkCondition
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func50: TTokenKind;
begin
  if KeyComp('macro') then Result := tkKey
  else if KeyComp('undef') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func52: TTokenKind;
begin
  if KeyComp('init') then Result := tkKey
  else if KeyComp('boot') then Result := tkKey
  else if KeyComp('divq') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func53: TTokenKind;
begin
  if KeyComp('imask') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func54: TTokenKind;
begin
  if KeyComp('divs') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func55: TTokenKind;
begin
  if KeyComp('endmod') then Result := tkKey
  else if KeyComp('cntr') then Result := tkRegister
  else if KeyComp('pass') then Result := tkKey
  else if KeyComp('trap') then Result := tkKey else
  Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func57: TTokenKind;
begin
  if KeyComp('xor') then Result := tkKey
  else if KeyComp('rts') then Result := tkKey else
  Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func58: TTokenKind;
begin
  if KeyComp('icntl') then Result := tkRegister
  else if KeyComp('loop') then Result := tkKey
  else if KeyComp('regbank') then Result := tkKey
  else if KeyComp('sts') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func60: TTokenKind;
begin
  if KeyComp('jump') then Result := tkKey
  else if KeyComp('expadj') then Result := tkKey
  else if KeyComp('norm') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func61: TTokenKind;
begin
  if KeyComp('astat') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func62: TTokenKind;
begin
  if KeyComp('shift') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func63: TTokenKind;
begin
  if KeyComp('ashift') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func64: TTokenKind;
begin
  if KeyComp('push') then Result := tkKey
  else if KeyComp('test') then Result := tkKey
  else if KeyComp('true') then Result := tkKey
  else if KeyComp('clrbit') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func65: TTokenKind;
begin
  if KeyComp('timer') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func66: TTokenKind;
begin
  if KeyComp('toggle') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func67: TTokenKind;
begin
  if KeyComp('reset') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func68: TTokenKind;
begin
  if KeyComp('include') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func69: TTokenKind;
begin
  if KeyComp('port') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func70: TTokenKind;
begin
  if KeyComp('module') then Result := tkKey
  else if KeyComp('tglbit') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func71: TTokenKind;
begin
  if KeyComp('const') then Result := tkKey
  else if KeyComp('newpage') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func72: TTokenKind;
begin
  if KeyComp('static') then Result := tkKey
  else if KeyComp('modify') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func73: TTokenKind;
begin
  if KeyComp('endmacro') then Result := tkKey
  else if KeyComp('mstat') then Result := tkRegister
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func74: TTokenKind;
begin
  if KeyComp('lshift') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func75: TTokenKind;
begin
  if KeyComp('setbit') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func76: TTokenKind;
begin
  if KeyComp('Until') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func79: TTokenKind;
begin
  if KeyComp('sstat') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func80: TTokenKind;
begin
  if KeyComp('flag_in') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func81: TTokenKind;
begin
  if KeyComp('m_mode') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func82: TTokenKind;
begin
  if KeyComp('entry') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func83: TTokenKind;
begin
  if KeyComp('segment') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func84: TTokenKind;
begin
  if KeyComp('abstract') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func88: TTokenKind;
begin
  if KeyComp('sec_reg') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func89: TTokenKind;
begin
  if KeyComp('forever') then Result := tkCondition else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func90: TTokenKind;
begin
  if KeyComp('ar_sat') then Result := tkKey
  else if KeyComp('go_mode') then Result := tkKey
  else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func92: TTokenKind;
begin
  if KeyComp('DMOVLAY') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func94: TTokenKind;
begin
  if KeyComp('alt_reg') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func95: TTokenKind;
begin
  if KeyComp('testbit') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func98: TTokenKind;
begin
  if KeyComp('av_latch') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func99: TTokenKind;
begin
  if KeyComp('external') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func107: TTokenKind;
begin
  if KeyComp('bit_rev') then Result := tkKey else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func113: TTokenKind;
begin
  if KeyComp('flag_out') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.Func145: TTokenKind;
begin
  if KeyComp('topofpcstack') then Result := tkRegister else Result := tkIdentifier;
end;

function TSynADSP21xxSyn.AltFunc: TTokenKind;
begin
  Result := tkIdentifier
end;

function TSynADSP21xxSyn.IdentKind(MayBe: PChar): TTokenKind;
var
  HashKey: Integer;
begin
  fToIdent := MayBe;
  HashKey := KeyHash(MayBe);
  if HashKey < 192 then
    Result := fIdentFuncTable[HashKey]
  else
    Result := tkIdentifier;
end;

procedure TSynADSP21xxSyn.MakeMethodTables;
var
  i: Char;
begin
  for i := #0 to #255 do
    case i of
      #0: fProcTable[i] := NullProc;
      #10: fProcTable[i] := LFProc;
      #13: fProcTable[i] := CRProc;
      #1..#9, #11, #12, #14..#32: fProcTable[i] := SpaceProc;
      '$': fProcTable[i] := IntegerProc;
      #39: fProcTable[I] := StringProc;
      '0'..'9': fProcTable[i] := NumberProc;
      'A'..'Z', 'a'..'z', '_': fProcTable[i] := IdentProc;
      '{': fProcTable[i] := BraceOpenProc;
      '}': fProcTable[i] := BraceCloseProc;
      '/': fProcTable[i] := SlashProc;
      '>': fProcTable[i] := IncludeCloseProc;
      '!': fProcTable[i] := ExclamationProc;
      else fProcTable[i] := UnknownProc;
    end;
end;

constructor TSynADSP21xxSyn.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  fCommentAttri := TSynHighlighterAttributes.Create(SYNS_AttrComment);
  fCommentAttri.ForeGround := clTeal;
  fCommentAttri.Style:= [fsItalic];
  AddAttribute(fCommentAttri);

  fIdentifierAttri := TSynHighlighterAttributes.Create(SYNS_AttrIdentifier);
  AddAttribute(fIdentifierAttri);

  fKeyAttri := TSynHighlighterAttributes.Create(SYNS_AttrReservedWord);
  fKeyAttri.Style:= [fsBold];
  AddAttribute(fKeyAttri);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -