ANTLR、とりあえずS式がパースできるようになった
あとはアクションを書く
シンボルの定義が予想以上に文字を食うのでそこらへんに手まどった。
C言語のAPiとか、ANTLR_VECTOR構造体のメンバがわからなかったけど公式ページにドキュメントがあってよかった。
toplevel : s_expr* ; s_expr : atom | list | '\'' s_expr ; list : '(' (s_expr+ ('.' s_expr )? )?')' ; atom : SYMBOL | INTLITERAL ; SYMBOL : SYMBOLNONUM ('0'..'9' | SYMBOLNONUM)* ; fragment SYMBOLNONUM : ~('0'..'9' |'(' | ')' | '\\'|'\"' | '\'' | '.' | ' ' | '\r' | '\n' | ';') ; INTLITERAL : '0'..'9'+ ; COMMENT : ';' ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;} ; WS : ( ' ' | '\t' | '\r' | '\n' ) {$channel=HIDDEN;} ;