はてな記法(シンタックスハイライト)のテスト

目的

色々とコード片を貼り付ける予定なので、どんなふうに表示されるか、試してみる。

結論

通常使っている言語や処理系については、十分対応されているようだ(GraphVizに対応していたのには感激)。
仕様の穴を付くような記述を処理できるかどうかは、そのつど見ていくことにする。

詳細

Makefile
files = 1 2 3 4 a b c d

define PROGRAM_set_CFLAGS
 CFLAGS_$(1) += -DNO_DEBUG_MSG
endef

#$(foreach f,$(file),$(eval $(call PROGRAM_set_CFLAGS,$f)))
$(foreach f,$(files),$(eval CFLAGS_$f += -DNO_DEBUG_MSG))

all:
        echo $(CFLAGS_1)
        echo $(CFLAGS_a)

V1 = test/clean/foo/clean
V2 = test2/clean/clean
test1:
        @echo $(V1:/clean=)
        @echo $(V2:/clean=)

not-found:
        $(MAKE) -C no-dir

unknown:
        $(MAKE) unknown2
unknown2:
        @echo 1
#       ( cd not-found && $(MAKE))
        #$(MAKE) -C exist
        $(MAKE) -C not-exist

echo: echo.c a
        echo $*
C
#include <stdio.h>

int main(void)
{
  printf("before comment.\n");
#if 0
  /*
#endif
  printf("inside comment.\n");
#if 0
*/
#endif
  printf("after comment.\n");

  return 0;
}
Ruby
#!/usr/bin/env ruby

ORDER = 2

def calc_next_number(num)
  next_num = 0
  num.to_s.scan(/./).each{ |e|
    next_num += e.to_i ** ORDER
  }
  next_num
end

num = 2
num_list = []

20.times do
  puts num
  if num_list.include? num
    puts "***circulate!!***"
    break
  end
  num_list.push num
  num = calc_next_number(num)
end
Assembler
  ; tiny.asm

  BITS 32

                org     0x00001000

                db      0x7F, "ELF"             ; e_ident
                dd      1                                       ; p_type
                dd      0                                       ; p_offset
                dd      $$                                      ; p_vaddr
                dw      2                       ; e_type        ; p_paddr
                dw      3                       ; e_machine
                dd      filesize                ; e_version     ; p_filesz
                dd      _start                  ; e_entry       ; p_memsz
                dd      4                       ; e_phoff       ; p_flags
  _start:
                mov     bl, 42                  ; e_shoff       ; p_align
                xor     eax, eax
                inc     eax                     ; e_flags
                int     0x80
                db      0
                dw      0x34                    ; e_ehsize
                dw      0x20                    ; e_phentsize
                db      1                       ; e_phnum
                                                ; e_shentsize
                                                ; e_shnum
                                                ; e_shstrndx

  filesize      equ     $ - $$
Graphviz
digraph sample {
  alpha -> beta;
  alpha -> gamma;
  beta -> delta;
}
Bourne-shell
#!/bin/sh
set -x

function a1() {
  a=$1
  echo $a
}

a=2
a1 abcdefg