-
Notifications
You must be signed in to change notification settings - Fork 7
Tokenizer
Silica edited this page May 15, 2012
·
1 revision
#Tokenizer (トークナイザ)
##コメント
ソースコード中にコメントを記述するには
//から行末まで
または /* から */ までがコメントとして読み飛ばされる
また#!でも事実上1行コメントとして機能する
##トークナイザ指令
#から始まる識別子はトークナイザへの指令となる
行の途中であっても構わない
list = (#include "list.csv");
###include
#include "file.psl"
ファイルがそこに挿入されているものとして読み込む
###define
#define identifier ...
識別子を別のトークン(群)に置き換える
自動的に行末までを見る
複数行に渡る置き換えを行うことは出来ない
トークン単位での変換になる為
#define PLUS +
a PLUS= b;
はa += b;ではなくa + = b ;となり不正な構文となる.
###undef
#undef identifier
identifierに対するdefineを未定義にする
###ifdef
#ifdef identifier
identifierがdefineされていれば(置き換え対象は空でも良い)#elseか#endifまでをソースとして読み込む
###ifndef
#ifndef identifier
identifierがdefineされていなければ#elseか#endifまでをソースとして読み込む
###else
事前のifdefかifndefが読み込まれた場合は#endifまでを読み飛ばす
事前のifdefかifndefが読み飛ばされた場合は#endifまでをソースとして読み込む
###endif
ネスト可能