Index: lang/c/misc/mlisp/vm/op.h
===================================================================
--- lang/c/misc/mlisp/vm/op.h (revision 11061)
+++ lang/c/misc/mlisp/vm/op.h (revision 11110)
@@ -1,2 +1,6 @@
+//=============================================================================
+/// �o�C�g�R�[�h�̖��ߒ�
+//=============================================================================
+
 #pragma	once
 
Index: lang/c/misc/mlisp/compiler/compiler.cpp
===================================================================
--- lang/c/misc/mlisp/compiler/compiler.cpp (revision 11061)
+++ lang/c/misc/mlisp/compiler/compiler.cpp (revision 11110)
@@ -10,4 +10,10 @@
 
 
+void compile_error(int errcode) {
+	error(errcode);
+}
+
+
+
 static SExp extend(SExp e, SExp r) {
 	return cons(r, e);
@@ -18,12 +24,9 @@
 }
 
-
-void compile_error(int errcode) {
-	error(errcode);
-}
-
-// ���݂̊��ɕϐ���^
-//  �߂��̓C���f�N�X
-SExp compile_define_var(SExp env, SExp var) {
+/// ���ɕϐ���^
+/**
+	@return		�C���f�N�X
+*/
+static SExp compile_define_var(SExp env, SExp var) {
 	SExp e = car(env);
 	int l;
@@ -38,29 +41,17 @@
 }
 
-// ���[�J�����ɕϐ���^
-SExp compile_define_local(SExp env, SExp var) {
+/// ���[�J�����ɕϐ���^
+static SExp compile_define_local(SExp env, SExp var) {
 	return cons(int2s(0), compile_define_var(env, var));
 }
 
-// ���[�J�����ɕϐ���^
-SExp compile_define_global(SExp env, SExp var) {
+/// ���[�J�����ɕϐ���^
+static SExp compile_define_global(SExp env, SExp var) {
 	return cons(int2s(length(env) - 1), compile_define_var(last_pair(env), var));
 }
 
 
-
-
+/// �ϐ��Q��
 static SExp compile_lookup(SExp var, SExp e) {
-#if 0
-	int rib = 0;
-nxtrib:;
-		if (nilp(e))	return nil;
-		SExp vars = car(e);
-		int elt = 0;
-nxtelt:;
-			if (nilp(vars))			{ e = cdr(e); ++rib; goto nxtrib; }
-			if (eq(car(vars), var))	return cons(int2s(rib), int2s(elt));
-			else					{ vars = cdr(vars); ++elt; goto nxtelt; }
-#else
 	int rib = 0;
 	for (;; e = cdr(e), ++rib) {
@@ -73,8 +64,7 @@
 		}
 	}
-#endif
 }
 
-
+/// �y�A����p�C��
 static SExp compile_pair_loop(SExp args, SExp c, SExp e, SExp next) {
 	if (nilp(args)) {
@@ -89,5 +79,6 @@
 }
 
-SExp compile_set(SExp op, SExp sym, SExp val, SExp e, SExp next, bool b_define) {
+/// set! ����p�C��
+static SExp compile_set(SExp op, SExp sym, SExp val, SExp e, SExp next, bool b_define) {
 	SExp access = compile_lookup(sym, e);
 	if (nilp(access)) {
@@ -101,5 +92,6 @@
 }
 
-SExp compile_define(SExp var, SExp xs, SExp e, SExp next) {
+/// define ����p�C��
+static SExp compile_define(SExp var, SExp xs, SExp e, SExp next) {
 	while (consp(var)) {
 		SExp fname = car(var);
@@ -112,5 +104,6 @@
 }
 
-SExp get_next(SExp sexps, SExp next) {
+/// �u���b�N�R���p�C�����́A���̖���
+static SExp get_next(SExp sexps, SExp next) {
 	if (singlep(sexps))
 		return cons(car(next), cdr(next));
@@ -119,6 +112,8 @@
 }
 
-SExp compile_block_loop(SExp sexps, SExp e, SExp prev, SExp next) {
-	while (!nilp(sexps)) {
+/// �����̎�����p�C��
+SExp compile_block(SExp sexps, SExp e, SExp next) {
+	SExp start = get_next(sexps, next);
+	for (SExp prev = start; !nilp(sexps); sexps = cdr(sexps)) {
 		SExp se = car(sexps);
 		SExp nx = get_next(sexps, next);
@@ -127,18 +122,10 @@
 		rplacd(prev, cdr(r));
 
-		sexps = cdr(sexps);
 		prev = nx;
 	}
-	return prev;
-}
-
-
-SExp compile_block(SExp sexps, SExp e, SExp next) {
-	SExp start = get_next(sexps, next);
-	compile_block_loop(sexps, e, start, next);
 	return start;
 }
 
-
+/// �P�̎�����p�C��
 SExp compile(SExp x, SExp e, SExp next) {
 	if (symbolp(x)) {
Index: lang/c/misc/mlisp/readme.txt
===================================================================
--- lang/c/misc/mlisp/readme.txt (revision 11059)
+++ lang/c/misc/mlisp/readme.txt (revision 11110)
@@ -7,22 +7,48 @@
 
 * �m�[�g
--repl ����quit�v�Ƒł����ނƔ�����-�V���{���̑啶���Ə�������ʂ���
+- repl ����quit�v�Ƒł����ނƔ�����- �V���{���̑啶���Ə�������ʂ���
+- ������
+-- ����
+-- �V���{��
+-- ������- �Z��
 
 
 * ���
--BoehmGC ��p
--�r������p�C�����āA�o�C�g�R�[�h��s
--�q�[�v�x�[�X�̎��
+- �r������p�C�����āA�o�C�g�R�[�h��s
+- �q�[�v�x�[�X�̎��
+- BoehmGC ��p
 
+
+
+* �\�[�X�\��
+
+	sexp
+		�r������	compiler
+		�R���p�C��
+	vm
+		�o�[�`�����}�V��
+	test
+		�e�X�g�p�G���g��
+
+	mlisp.vcproj
+		VC(2003) �p�v���W�F�N�g�t�@�C��
 
 
 * ToDo
 - �X�^�b�N�x�[�X�ɒu��������- �R���p�C�����̊֐��Ăяo���`�F�b�N
--- �֐����H
+-- �֐����ǂ����H
 -- ����������Ă邩�H
 - �C�ӌ̈��󂯎�
 - �}�N�����
-- C �������[�o���̊֐���яo�������ɂ���-�unil�v�ut�v���V���{���Ȃ̂ŁA�R���p�C�������V���{���Q�ƂɂȂ�Ă��܂�
+-- macroexpand ��- C �������[�o���̊֐���яo�������ɂ���- �unil�v�ut�v���V���{���Ȃ̂ŁA�R���p�C�������V���{���Q�ƂɂȂ�Ă��܂�
+- ��s���ɕϐ�������������Ƃ��̎�����
+- ��������
 
 - SDL �Ɨ��߂ĂȂ񂩍��i�e�g���X�j
 
+
+
+* changelog
+
+** 080504
+- �쐬
