demo_asm.pp 750 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. program test_asm;
  2. {$mode objfpc}{$H+}
  3. uses
  4. SysUtils, syntax.highlighter, syntax.pascal;
  5. procedure TestASM;
  6. var
  7. tokens: TSyntaxTokenArray;
  8. i: Integer;
  9. highlighter: TSyntaxHighlighter;
  10. begin
  11. highlighter := TSyntaxHighlighter.Create;
  12. try
  13. tokens := highlighter.Execute('asm'#13#10'end');
  14. finally
  15. highlighter.Free;
  16. end;
  17. WriteLn('Testing ASM block: ''asm'#13#10'end''');
  18. WriteLn('Token count: ', Length(tokens));
  19. WriteLn;
  20. for i := 0 to High(tokens) do begin
  21. WriteLn('Token ', i, ': "', tokens[i].Text, '" - Kind: ', Ord(tokens[i].Kind));
  22. end;
  23. end;
  24. begin
  25. WriteLn('ASM Block Test');
  26. WriteLn('==============');
  27. WriteLn;
  28. TestASM;
  29. WriteLn;
  30. WriteLn('Test completed. Press Enter to exit.');
  31. ReadLn;
  32. end.