2007-02-01から1ヶ月間の記事一覧

lispで言語実装

新年だし、言語実装の勉強をはじめよう。ベース言語にはlispを選択。以下の手順で進めようと考えている。 電卓の実装 TinyCの実装 若干実用的な言語の実装 lisp処理系は、xyzzy lispを利用する。 電卓の実装(1) 字句解析 「(100+3)*10」のような入力に対して…

使っている処理系にstrtok_rがなかったので自作

こんな感じかな。strspnとstrcspnを使います。 #include <string.h> char *strtok_r(char *str, const char *delim, char **saveptr) { size_t width; char* head; head = (NULL != str)? str: *saveptr; width = strcspn(head, delim); if(0 == width){ head += strsp</string.h>…