This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/tests/examplefiles/ca65/ca65_example.output
Sebastian Engel 907df2c247
Whitespace token modernization - a* lexers - regarding #1905 (#1914)
* Whitespace token modernization - ambient lexer

* Whitespace token modernization - ampl lexer

* Whitespace token modernization - apdlexer lexer

* Whitespace token modernization - apl lexer

* Whitespace token modernization - adl lexer

* Whitespace token modernization - arrow lexer

* Whitespace token modernization - asm lexer
2021-10-23 13:07:34 +02:00

1011 lines
26 KiB
Text
Generated

';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Lychrel numbers.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
"; :author: Marc 'BlackJack' Rintsch" Comment.Single
'\n' Text.Whitespace
'; :date: 2008-03-07' Comment.Single
'\n' Text.Whitespace
'; :version: 0.1' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; Prints all `Lychrel numbers`_ between 1 and 100000.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; The numbers are stored as array of "digits" in little endian' Comment.Single
'\n' Text.Whitespace
'; order. Each digit is a byte with a value between 0 and 9.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; Runtime on C64: 00:21:01' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; .. _Lychrel numbers: http://en.wikipedia.org/wiki/Lychrel_number' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; .. cl65 -l -tnone -C simple.cfg lychrel.s -o lychrel.prg' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; External addresses.' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n\t' Text.Whitespace
'chrout' Name
'\t' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'$ffd2' Literal.Number.Hex
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Constants.' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n\t' Text.Whitespace
'TO' Name
'\t\t' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'100000' Literal.Number.Integer
'\n\t' Text.Whitespace
'TO_DIGITS' Name
'\t' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'10' Literal.Number.Integer
'\n\t' Text.Whitespace
'ITERATIONS' Name
'\t' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'100' Literal.Number.Integer
'\n\t' Text.Whitespace
'MAX_DIGITS' Name
'\t' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'TO_DIGITS' Name
' ' Text.Whitespace
'+' Operator
' ' Text.Whitespace
'ITERATIONS' Name
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Global variables.' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'.zeropage' Keyword.Pseudo
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; Length of the currently tested `n` in digits.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'n_length:' Name.Label
'\n\t' Text.Whitespace
'.res' Keyword.Pseudo
' ' Text.Whitespace
'1' Literal.Number.Integer
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; Length of the number(s) `xa` and `xb` while testing.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'length:' Name.Label
'\n\t' Text.Whitespace
'.res' Keyword.Pseudo
' ' Text.Whitespace
'1' Literal.Number.Integer
'\n\n' Text.Whitespace
'.bss' Keyword.Pseudo
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; Number to be tested as digits i.e. bytes with values between' Comment.Single
'\n' Text.Whitespace
'; 0 and 9. The length is stored in `n_length`.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'n:' Name.Label
'\n\t' Text.Whitespace
'.res' Keyword.Pseudo
' ' Text.Whitespace
'TO_DIGITS' Name
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; Space for calculating the reversed and added values.' Comment.Single
'\n' Text.Whitespace
'; In the `main` code the current number is copied into `xa`' Comment.Single
'\n' Text.Whitespace
'; and then repeatedly `reverse_add`\\ed to itself with the' Comment.Single
'\n' Text.Whitespace
'; result of that adding stored in `xb`.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'xa:' Name.Label
'\n\t' Text.Whitespace
'.res' Keyword.Pseudo
' ' Text.Whitespace
'MAX_DIGITS' Name
'\n' Text.Whitespace
'xb:' Name.Label
'\n\t' Text.Whitespace
'.res' Keyword.Pseudo
' ' Text.Whitespace
'MAX_DIGITS' Name
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; BASIC header.' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'.code' Keyword.Pseudo
'\n\t' Text.Whitespace
'.word' Keyword.Pseudo
' ' Text.Whitespace
'0800h' Literal.Number.Hex
'\t\t' Text.Whitespace
'; Load address.' Comment.Single
'\n\t' Text.Whitespace
'.byte' Keyword.Pseudo
' ' Text.Whitespace
'0' Literal.Number.Integer
'\n\t' Text.Whitespace
'.word' Keyword.Pseudo
' ' Text.Whitespace
'@line_end' Name
'\n\t' Text.Whitespace
'.word' Keyword.Pseudo
' ' Text.Whitespace
'2008' Literal.Number.Integer
'\t\t' Text.Whitespace
'; Line number.' Comment.Single
'\n\t' Text.Whitespace
'.byte' Keyword.Pseudo
' ' Text.Whitespace
'$9e' Literal.Number.Hex
'\t\t' Text.Whitespace
'; SYS token.' Comment.Single
'\n\t' Text.Whitespace
'.byte' Keyword.Pseudo
' ' Text.Whitespace
'"2080 "' Literal.String
'\t\t' Text.Whitespace
'; SYS argument.' Comment.Single
'\n\t' Text.Whitespace
'.byte' Keyword.Pseudo
' ' Text.Whitespace
'"LYCHREL NUMBERS/BJ"' Literal.String
'\n' Text.Whitespace
'@line_end:' Name.Label
'\n\t' Text.Whitespace
'.byte' Keyword.Pseudo
' ' Text.Whitespace
'0' Literal.Number.Integer
',' Punctuation
' ' Text.Whitespace
'0' Literal.Number.Integer
',' Punctuation
' ' Text.Whitespace
'0' Literal.Number.Integer
'\t\t' Text.Whitespace
'; Line and program end marker.' Comment.Single
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Main program.' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'.proc' Keyword.Pseudo
' ' Text.Whitespace
'main' Name
'\n\n' Text.Whitespace
'.zeropage' Keyword.Pseudo
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; Three byte counter for `TO` iterations (100000 = $0186a0).' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'i:' Name.Label
'\n\t' Text.Whitespace
'.res' Keyword.Pseudo
' ' Text.Whitespace
'3' Literal.Number.Integer
'\n\n' Text.Whitespace
'.code' Keyword.Pseudo
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; Clear and set `n` and `i` to 1.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'#' Punctuation
'0' Literal.Number.Integer
'\t\t' Text.Whitespace
'; n := 0; n := 1; i := 1' Comment.Single
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'i' Name
'+' Operator
'1' Literal.Number.Integer
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'i' Name
'+' Operator
'2' Literal.Number.Integer
'\n\t' Text.Whitespace
'ldx' Keyword
' ' Text.Whitespace
'#' Punctuation
'TO_DIGITS' Name
'\n' Text.Whitespace
'clear_n:' Name.Label
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'n' Name
'-' Operator
'1' Literal.Number.Integer
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'dex' Keyword
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'clear_n' Name
'\n\t' Text.Whitespace
'inx' Keyword
'\n\t' Text.Whitespace
'stx' Keyword
' ' Text.Whitespace
'i' Name
'\n\t' Text.Whitespace
'stx' Keyword
' ' Text.Whitespace
'n' Name
'\n\t' Text.Whitespace
'stx' Keyword
' ' Text.Whitespace
'n_length' Name
'\n\t\n' Text.Whitespace
'mainloop:' Name.Label
'\n\t' Text.Whitespace
'jsr' Keyword
' ' Text.Whitespace
'is_lychrel' Name
'\n\t' Text.Whitespace
'bcc' Keyword
' ' Text.Whitespace
'no_lychrel' Name
'\n\t' Text.Whitespace
'jsr' Keyword
' ' Text.Whitespace
'print_n' Name
'\n' Text.Whitespace
'no_lychrel:' Name.Label
'\n\t' Text.Whitespace
'jsr' Keyword
' ' Text.Whitespace
'increase_n' Name
'\n\t\n\t' Text.Whitespace
'inc' Keyword
' ' Text.Whitespace
'i' Name
'\t\t' Text.Whitespace
'; INC(i)' Comment.Single
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'skip' Name
'\n\t' Text.Whitespace
'inc' Keyword
' ' Text.Whitespace
'i' Name
'+' Operator
'1' Literal.Number.Integer
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'skip' Name
'\n\t' Text.Whitespace
'inc' Keyword
' ' Text.Whitespace
'i' Name
'+' Operator
'2' Literal.Number.Integer
'\n' Text.Whitespace
'skip:' Name.Label
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'i' Name
'\n\t' Text.Whitespace
'cmp' Keyword
' ' Text.Whitespace
'#' Punctuation
'<' Operator
'TO' Name
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'mainloop' Name
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'i' Name
'+' Operator
'1' Literal.Number.Integer
'\n\t' Text.Whitespace
'cmp' Keyword
' ' Text.Whitespace
'#' Punctuation
'>' Operator
'TO' Name
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'mainloop' Name
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'i' Name
'+' Operator
'2' Literal.Number.Integer
'\n\t' Text.Whitespace
'cmp' Keyword
' ' Text.Whitespace
'#' Punctuation
'^' Operator
'TO' Name
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'mainloop' Name
'\n\t\n\t' Text.Whitespace
'rts' Keyword
'\n' Text.Whitespace
'.endproc' Keyword.Pseudo
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Print `n` and a trailing newline.' Comment.Single
'\n' Text.Whitespace
';' Comment.Single
'\n' Text.Whitespace
'; :in: `n_length`, `n`' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'.proc' Keyword.Pseudo
' ' Text.Whitespace
'print_n' Name
'\n\t' Text.Whitespace
'ldy' Keyword
' ' Text.Whitespace
'n_length' Name
'\n' Text.Whitespace
'L1:' Name.Label
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'n' Name
'-' Operator
'1' Literal.Number.Integer
',' Punctuation
'y' Name
'\n\t' Text.Whitespace
'ora' Keyword
' ' Text.Whitespace
'#' Punctuation
'%110000' Literal.Number.Bin
' ' Text.Whitespace
"; = '0'" Comment.Single
'\n\t' Text.Whitespace
'jsr' Keyword
' ' Text.Whitespace
'chrout' Name
'\n\t' Text.Whitespace
'dey' Keyword
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'L1' Name
'\n\t\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'#' Punctuation
'13' Literal.Number.Integer
'\n\t' Text.Whitespace
'jmp' Keyword
' ' Text.Whitespace
'chrout' Name
'\n' Text.Whitespace
'.endproc' Keyword.Pseudo
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Increase `n` by one.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; This procedure expects n[n_length] == 0 in case the number gets' Comment.Single
'\n' Text.Whitespace
'; one digit longer.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; :in: `n`, `n_length`' Comment.Single
'\n' Text.Whitespace
'; :out: `n`, `n_length`' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'.proc' Keyword.Pseudo
' ' Text.Whitespace
'increase_n' Name
'\n\t' Text.Whitespace
'ldx' Keyword
' ' Text.Whitespace
'#' Punctuation
'0' Literal.Number.Integer
'\n' Text.Whitespace
'L1:' Name.Label
'\n\t' Text.Whitespace
'inc' Keyword
' ' Text.Whitespace
'n' Name
',' Punctuation
'x' Name
'\t\t' Text.Whitespace
'; Increase digit.' Comment.Single
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'n' Name
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'cmp' Keyword
' ' Text.Whitespace
'#' Punctuation
'10' Literal.Number.Integer
'\t\t' Text.Whitespace
'; If "carry", store 0 and go to next digit.' Comment.Single
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'return' Name
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'#' Punctuation
'0' Literal.Number.Integer
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'n' Name
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'inx' Keyword
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'L1' Name
'\n' Text.Whitespace
'return:' Name.Label
'\n\t' Text.Whitespace
'cpx' Keyword
' ' Text.Whitespace
'n_length' Name
'\t' Text.Whitespace
'; If "carry" after last digit, increase length.' Comment.Single
'\n\t' Text.Whitespace
'bcc' Keyword
' ' Text.Whitespace
'skip' Name
'\n\t' Text.Whitespace
'inc' Keyword
' ' Text.Whitespace
'n_length' Name
'\n' Text.Whitespace
'skip:' Name.Label
'\n\t' Text.Whitespace
'rts' Keyword
'\n' Text.Whitespace
'.endproc' Keyword.Pseudo
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Tests if `n` is a Lychrel number.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; :in: `n`, `n_length`' Comment.Single
'\n' Text.Whitespace
'; :out: C is set if yes, cleared otherwise.' Comment.Single
'\n' Text.Whitespace
'; :uses: `length`, `xa`, `xb`' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'.proc' Keyword.Pseudo
' ' Text.Whitespace
'is_lychrel' Name
'\n' Text.Whitespace
'.zeropage' Keyword.Pseudo
'\n' Text.Whitespace
'i:' Name.Label
'\n\t' Text.Whitespace
'.res' Keyword.Pseudo
' ' Text.Whitespace
'1' Literal.Number.Integer
'\n\n' Text.Whitespace
'.code' Keyword.Pseudo
'\n\t' Text.Whitespace
'ldx' Keyword
' ' Text.Whitespace
'n_length' Name
'\t\t' Text.Whitespace
'; xa := n; length := n_length' Comment.Single
'\n\t' Text.Whitespace
'stx' Keyword
' ' Text.Whitespace
'length' Name
'\n' Text.Whitespace
'L1:' Name.Label
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'n' Name
'-' Operator
'1' Literal.Number.Integer
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'xa' Name
'-' Operator
'1' Literal.Number.Integer
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'dex' Keyword
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'L1' Name
'\n\t\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'#' Punctuation
'ITERATIONS' Name
'\t\t' Text.Whitespace
'; i := ITERATIONS' Comment.Single
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'i' Name
'\n' Text.Whitespace
'L2:' Name.Label
'\n\t' Text.Whitespace
'jsr' Keyword
' ' Text.Whitespace
'reverse_add' Name
'\n\t' Text.Whitespace
'jsr' Keyword
' ' Text.Whitespace
'is_palindrome' Name
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'no_palindrome' Name
'\n\t' Text.Whitespace
'clc' Keyword
'\n\t' Text.Whitespace
'rts' Keyword
'\n' Text.Whitespace
'no_palindrome:' Name.Label
'\n\t' Text.Whitespace
'ldx' Keyword
' ' Text.Whitespace
'length' Name
'\t\t' Text.Whitespace
'; a := b' Comment.Single
'\n' Text.Whitespace
'L3:' Name.Label
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'xb' Name
'-' Operator
'1' Literal.Number.Integer
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'xa' Name
'-' Operator
'1' Literal.Number.Integer
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'dex' Keyword
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'L3' Name
'\n\t\n\t' Text.Whitespace
'dec' Keyword
' ' Text.Whitespace
'i' Name
'\t\t\t' Text.Whitespace
'; Loop body end.' Comment.Single
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'L2' Name
'\n\t\n\t' Text.Whitespace
'sec' Keyword
'\n\t' Text.Whitespace
'rts' Keyword
'\n' Text.Whitespace
'.endproc' Keyword.Pseudo
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Add the reverse to `xa` to itself and store the result in `xb`.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; :in: `length`, `xa`' Comment.Single
'\n' Text.Whitespace
'; :out: `length`, `xb`' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'.proc' Keyword.Pseudo
' ' Text.Whitespace
'reverse_add' Name
'\n' Text.Whitespace
'.code' Keyword.Pseudo
'\n\t' Text.Whitespace
'ldx' Keyword
' ' Text.Whitespace
'#' Punctuation
'0' Literal.Number.Integer
'\n\t' Text.Whitespace
'ldy' Keyword
' ' Text.Whitespace
'length' Name
'\n\t' Text.Whitespace
'clc' Keyword
'\n' Text.Whitespace
'L1:' Name.Label
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'xa' Name
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'adc' Keyword
' ' Text.Whitespace
'xa' Name
'-' Operator
'1' Literal.Number.Integer
',' Punctuation
'y' Name
'\n\t\n\t' Text.Whitespace
'cmp' Keyword
' ' Text.Whitespace
'#' Punctuation
'10' Literal.Number.Integer
'\n\t' Text.Whitespace
'bcc' Keyword
' ' Text.Whitespace
'no_adjust' Name
'\n\t' Text.Whitespace
'sbc' Keyword
' ' Text.Whitespace
'#' Punctuation
'10' Literal.Number.Integer
'\n' Text.Whitespace
'no_adjust:' Name.Label
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'xb' Name
',' Punctuation
'x' Name
'\n\t\n\t' Text.Whitespace
'dey' Keyword
'\n\t' Text.Whitespace
'inx' Keyword
'\n\t' Text.Whitespace
'txa' Keyword
'\t\t' Text.Whitespace
'; ``eor`` instead of ``cpx`` to keep the carry flag' Comment.Single
'\n\t' Text.Whitespace
'eor' Keyword
' ' Text.Whitespace
'length' Name
'\t' Text.Whitespace
'; of the addition above.' Comment.Single
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'L1' Name
'\n\t\n\t' Text.Whitespace
'bcc' Keyword
' ' Text.Whitespace
'no_carry' Name
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'#' Punctuation
'1' Literal.Number.Integer
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'xb' Name
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'inc' Keyword
' ' Text.Whitespace
'length' Name
'\n' Text.Whitespace
'no_carry:' Name.Label
'\n\t' Text.Whitespace
'rts' Keyword
'\n' Text.Whitespace
'.endproc' Keyword.Pseudo
'\n\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'; Checks if `xb` is a palindrome.' Comment.Single
'\n' Text.Whitespace
'; ' Comment.Single
'\n' Text.Whitespace
'; :in: `length`, `xb`' Comment.Single
'\n' Text.Whitespace
'; :out: Z flag set if `xb` is a palindrome, cleared otherwise.' Comment.Single
'\n' Text.Whitespace
';--------------------------------------' Comment.Single
'\n' Text.Whitespace
'.proc' Keyword.Pseudo
' ' Text.Whitespace
'is_palindrome' Name
'\n' Text.Whitespace
'.code' Keyword.Pseudo
'\n\t' Text.Whitespace
'ldx' Keyword
' ' Text.Whitespace
'#' Punctuation
'0' Literal.Number.Integer
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'length' Name
'\n\t' Text.Whitespace
'tay' Keyword
'\n\t' Text.Whitespace
'lsr' Keyword
'\n\t' Text.Whitespace
'sta' Keyword
' ' Text.Whitespace
'L1' Name
'+' Operator
'1' Literal.Number.Integer
'\t' Text.Whitespace
'; Self modifying code!' Comment.Single
'\n' Text.Whitespace
'L1:' Name.Label
'\n\t' Text.Whitespace
'cpx' Keyword
' ' Text.Whitespace
'#' Punctuation
'0' Literal.Number.Integer
'\t\t' Text.Whitespace
'; <<< 0 replaced by (`length` / 2).' Comment.Single
'\n\t' Text.Whitespace
'beq' Keyword
' ' Text.Whitespace
'return' Name
'\n\t' Text.Whitespace
'lda' Keyword
' ' Text.Whitespace
'xb' Name
',' Punctuation
'x' Name
'\n\t' Text.Whitespace
'cmp' Keyword
' ' Text.Whitespace
'xb' Name
'-' Operator
'1' Literal.Number.Integer
',' Punctuation
'y' Name
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'return' Name
'\n\t' Text.Whitespace
'dey' Keyword
'\n\t' Text.Whitespace
'inx' Keyword
'\n\t' Text.Whitespace
'bne' Keyword
' ' Text.Whitespace
'L1' Name
'\n' Text.Whitespace
'return:' Name.Label
'\n\t' Text.Whitespace
'rts' Keyword
'\n' Text.Whitespace
'.endproc' Keyword.Pseudo
'\n' Text.Whitespace