docs: def _objdump_lexer_tokens(asm_lexer):
      """
      Common objdump lexer tokens to wrap an ASM lexer.
      """
      hex_re = r'[0-9A-Za-z]'
      return {
          'root': [
              # File name & format:
              ('(.*?)(:)( +file format )(.*?)$',
                  bygroups(Name.Label, Punctuation, Text, String)),
              # Section header
              ('(Disassembly of section )(.*?)(:)$',
                  bygroups(Text, Name.Label, Punctuation)),
              # Function labels
              # (With offset)
              ('('+hex_re+'+)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$',
                  bygroups(Number.Hex, Text, Punctuation, Name.Function,
                           Punctuation, Number.Hex, Punctuation)),
              # (Without offset)
              ('('+hex_re+'+)( )(<)(.*?)(>:)$',
                  bygroups(Number.Hex, Text, Punctuation, Name.Function,
                           Punctuation)),
              # Code line with disassembled instructions
              ('( *)('+hex_re+r'+:)(\t)((?:'+hex_re+hex_re+' )+)( *\t)([a-zA-Z].*?)$',
                  bygroups(Text, Name.Label, Text, Number.Hex, Text,
                           using(asm_lexer))),
              # Code line with ascii
              ('( *)('+hex_re+r'+:)(\t)((?:'+hex_re+hex_re+' )+)( *)(.*?)$',
                  bygroups(Text, Name.Label, Text, Number.Hex, Text, String)),
              # Continued code line, only raw opcodes without disassembled
              # instruction
              ('( *)('+hex_re+r'+:)(\t)((?:'+hex_re+hex_re+' )+)$',
                  bygroups(Text, Name.Label, Text, Number.Hex)),
              # Skipped a few bytes
              (r'\t\.\.\.$', Text),
              # Relocation line
              # (With offset)
              (r'(\t\t\t)('+hex_re+r'+:)( )([^\t]+)(\t)(.*?)([-+])(0x'+hex_re+'+)$',
                  bygroups(Text, Name.Label, Text, Name.Property, Text,
                           Name.Constant, Punctuation, Number.Hex)),
              # (Without offset)
              (r'(\t\t\t)('+hex_re+r'+:)( )([^\t]+)(\t)(.*?)$',
                  bygroups(Text, Name.Label, Text, Name.Property, Text,
                           Name.Constant)),
              (r'[^\n]+\n', Other)
          ]
      }