[uim-commit] r2034 - in branches/r5rs/sigscheme: . script
kzk at freedesktop.org
kzk at freedesktop.org
Sun Nov 6 08:59:08 PST 2005
Author: kzk
Date: 2005-11-06 08:59:04 -0800 (Sun, 06 Nov 2005)
New Revision: 2034
Added:
branches/r5rs/sigscheme/operations-r5rs-deepcadrs.c
Modified:
branches/r5rs/sigscheme/operations.c
branches/r5rs/sigscheme/script/build_func_table.rb
branches/r5rs/sigscheme/sigscheme.c
branches/r5rs/sigscheme/sigscheme.h
branches/r5rs/sigscheme/sigschemefunctable.h
Log:
* split deep c[ad]+r operations to operations-r5rs-deepcadrs.c
* sigscheme/sigschemefunctable.h
- (r5rs_deepcadrs_func_info_table): new variable
* sigscheme/operations-r5rs-deepcadrs.c
- (ScmOp_caaar, ScmOp_caadr, ScmOp_cadar, ScmOp_cdaar,
ScmOp_cdadr, ScmOp_cddar,
ScmOp_caaaar, ScmOp_caaadr, ScmOp_caadar, ScmOp_caaddr,
ScmOp_cadaar, ScmOp_cadadr, ScmOp_caddar, ScmOp_cadddr,
ScmOp_cdaaar, ScmOp_cdaadr, ScmOp_cdadar, ScmOp_cdaddr,
ScmOp_cddaar, ScmOp_cddadr, ScmOp_cdddar, ScmOp_cddddr)
: moved from operations.c
* sigscheme/operations.c
- (ScmOp_caaar, ScmOp_caadr, ScmOp_cadar, ScmOp_cdaar,
ScmOp_cdadr, ScmOp_cddar,
ScmOp_caaaar, ScmOp_caaadr, ScmOp_caadar, ScmOp_caaddr,
ScmOp_cadaar, ScmOp_cadadr, ScmOp_caddar, ScmOp_cadddr,
ScmOp_cdaaar, ScmOp_cdaadr, ScmOp_cdadar, ScmOp_cdaddr,
ScmOp_cddaar, ScmOp_cddadr, ScmOp_cdddar, ScmOp_cddddr)
: moved to operations-r5rs-deepcadrs.c
* sigscheme/sigscheme.c
- (SigScm_Initialize_internal): register table
r5rs_deepcadrs_func_info_table
* sigscheme/sigscheme.h
- update section
* sigscheme/script/build_func_table.rb
- change to generate r5rs_deepcadrs_func_info_table
Added: branches/r5rs/sigscheme/operations-r5rs-deepcadrs.c
===================================================================
--- branches/r5rs/sigscheme/operations-r5rs-deepcadrs.c 2005-11-06 16:28:41 UTC (rev 2033)
+++ branches/r5rs/sigscheme/operations-r5rs-deepcadrs.c 2005-11-06 16:59:04 UTC (rev 2034)
@@ -0,0 +1,174 @@
+/*===========================================================================
+ * FileName : operations-r5rs-deepcadrs.c
+ * About : deep c[ad]+r operations
+ *
+ * Copyright (C) 2005 by Kazuki Ohta (mover at hct.zaq.ne.jp)
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of authors nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
+ * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+===========================================================================*/
+
+/*=======================================
+ System Include
+=======================================*/
+
+/*=======================================
+ Local Include
+=======================================*/
+#include "sigscheme.h"
+#include "sigschemeinternal.h"
+
+/*=======================================
+ File Local Macro Definitions
+=======================================*/
+
+/*=======================================
+ File Local Type Definitions
+=======================================*/
+
+/*=======================================
+ Variable Declarations
+=======================================*/
+
+/*=======================================
+ File Local Function Declarations
+=======================================*/
+
+/*=======================================
+ Function Implementations
+=======================================*/
+ScmObj ScmOp_caaar(ScmObj lst)
+{
+ DECLARE_FUNCTION("caaar", ProcedureFixed1);
+ return ScmOp_car( ScmOp_car( ScmOp_car(lst) ));
+}
+ScmObj ScmOp_caadr(ScmObj lst)
+{
+ DECLARE_FUNCTION("caadr", ProcedureFixed1);
+ return ScmOp_car( ScmOp_car( ScmOp_cdr(lst) ));
+}
+ScmObj ScmOp_cadar(ScmObj lst)
+{
+ DECLARE_FUNCTION("cadar", ProcedureFixed1);
+ return ScmOp_car( ScmOp_cdr( ScmOp_car(lst) ));
+}
+ScmObj ScmOp_cdaar(ScmObj lst)
+{
+ DECLARE_FUNCTION("cdaar", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_car( ScmOp_car(lst) ));
+}
+ScmObj ScmOp_cdadr(ScmObj lst)
+{
+ DECLARE_FUNCTION("cdadr", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_car( ScmOp_cdr(lst) ));
+}
+ScmObj ScmOp_cddar(ScmObj lst)
+{
+ DECLARE_FUNCTION("cddar", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_cdr( ScmOp_car(lst) ));
+}
+
+ScmObj ScmOp_caaaar(ScmObj lst)
+{
+ DECLARE_FUNCTION("caaaar", ProcedureFixed1);
+ return ScmOp_car( ScmOp_car( ScmOp_car( ScmOp_car(lst) )));
+}
+ScmObj ScmOp_caaadr(ScmObj lst)
+{
+ DECLARE_FUNCTION("caaadr", ProcedureFixed1);
+ return ScmOp_car( ScmOp_car( ScmOp_car( ScmOp_cdr(lst) )));
+}
+ScmObj ScmOp_caadar(ScmObj lst)
+{
+ DECLARE_FUNCTION("caadar", ProcedureFixed1);
+ return ScmOp_car( ScmOp_car( ScmOp_cdr( ScmOp_car(lst) )));
+}
+ScmObj ScmOp_caaddr(ScmObj lst)
+{
+ DECLARE_FUNCTION("caaddr", ProcedureFixed1);
+ return ScmOp_car( ScmOp_car( ScmOp_cdr( ScmOp_cdr(lst) )));
+}
+ScmObj ScmOp_cadaar(ScmObj lst)
+{
+ DECLARE_FUNCTION("cadaar", ProcedureFixed1);
+ return ScmOp_car( ScmOp_cdr( ScmOp_car( ScmOp_car(lst) )));
+}
+ScmObj ScmOp_cadadr(ScmObj lst)
+{
+ DECLARE_FUNCTION("cadadr", ProcedureFixed1);
+ return ScmOp_car( ScmOp_cdr( ScmOp_car( ScmOp_cdr(lst) )));
+}
+ScmObj ScmOp_caddar(ScmObj lst)
+{
+ DECLARE_FUNCTION("caddar", ProcedureFixed1);
+ return ScmOp_car( ScmOp_cdr( ScmOp_cdr( ScmOp_car(lst) )));
+}
+ScmObj ScmOp_cadddr(ScmObj lst)
+{
+ DECLARE_FUNCTION("cadddr", ProcedureFixed1);
+ return ScmOp_car( ScmOp_cdr( ScmOp_cdr( ScmOp_cdr(lst) )));
+}
+ScmObj ScmOp_cdaaar(ScmObj lst)
+{
+ DECLARE_FUNCTION("cdaaar", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_car( ScmOp_car( ScmOp_car(lst) )));
+}
+ScmObj ScmOp_cdaadr(ScmObj lst)
+{
+ DECLARE_FUNCTION("cdaadr", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_car( ScmOp_car( ScmOp_cdr(lst) )));
+}
+ScmObj ScmOp_cdadar(ScmObj lst)
+{
+ DECLARE_FUNCTION("cdadar", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_car( ScmOp_cdr( ScmOp_car(lst) )));
+}
+ScmObj ScmOp_cdaddr(ScmObj lst)
+{
+ DECLARE_FUNCTION("cdaddr", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_car( ScmOp_cdr( ScmOp_cdr(lst) )));
+}
+ScmObj ScmOp_cddaar(ScmObj lst)
+{
+ DECLARE_FUNCTION("cddaar", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_cdr( ScmOp_car( ScmOp_car(lst) )));
+}
+ScmObj ScmOp_cddadr(ScmObj lst)
+{
+ DECLARE_FUNCTION("cddadr", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_cdr( ScmOp_car( ScmOp_cdr(lst) )));
+}
+ScmObj ScmOp_cdddar(ScmObj lst)
+{
+ DECLARE_FUNCTION("cdddar", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_cdr( ScmOp_cdr( ScmOp_car(lst) )));
+}
+ScmObj ScmOp_cddddr(ScmObj lst)
+{
+ DECLARE_FUNCTION("cddddr", ProcedureFixed1);
+ return ScmOp_cdr( ScmOp_cdr( ScmOp_cdr( ScmOp_cdr(lst) )));
+}
Modified: branches/r5rs/sigscheme/operations.c
===================================================================
--- branches/r5rs/sigscheme/operations.c 2005-11-06 16:28:41 UTC (rev 2033)
+++ branches/r5rs/sigscheme/operations.c 2005-11-06 16:59:04 UTC (rev 2034)
@@ -663,6 +663,7 @@
DECLARE_FUNCTION("cddr", ProcedureFixed1);
return ScmOp_cdr( ScmOp_cdr(lst) );
}
+
ScmObj ScmOp_caddr(ScmObj lst)
{
DECLARE_FUNCTION("caddr", ProcedureFixed1);
@@ -674,119 +675,6 @@
return ScmOp_cdr( ScmOp_cdr( ScmOp_cdr(lst) ));
}
-#if SCM_USE_DEEP_CADRS
-ScmObj ScmOp_caaar(ScmObj lst)
-{
- DECLARE_FUNCTION("caaar", ProcedureFixed1);
- return ScmOp_car( ScmOp_car( ScmOp_car(lst) ));
-}
-ScmObj ScmOp_caadr(ScmObj lst)
-{
- DECLARE_FUNCTION("caadr", ProcedureFixed1);
- return ScmOp_car( ScmOp_car( ScmOp_cdr(lst) ));
-}
-ScmObj ScmOp_cadar(ScmObj lst)
-{
- DECLARE_FUNCTION("cadar", ProcedureFixed1);
- return ScmOp_car( ScmOp_cdr( ScmOp_car(lst) ));
-}
-ScmObj ScmOp_cdaar(ScmObj lst)
-{
- DECLARE_FUNCTION("cdaar", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_car( ScmOp_car(lst) ));
-}
-ScmObj ScmOp_cdadr(ScmObj lst)
-{
- DECLARE_FUNCTION("cdadr", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_car( ScmOp_cdr(lst) ));
-}
-ScmObj ScmOp_cddar(ScmObj lst)
-{
- DECLARE_FUNCTION("cddar", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_cdr( ScmOp_car(lst) ));
-}
-ScmObj ScmOp_caaaar(ScmObj lst)
-{
- DECLARE_FUNCTION("caaaar", ProcedureFixed1);
- return ScmOp_car( ScmOp_car( ScmOp_car( ScmOp_car(lst) )));
-}
-ScmObj ScmOp_caaadr(ScmObj lst)
-{
- DECLARE_FUNCTION("caaadr", ProcedureFixed1);
- return ScmOp_car( ScmOp_car( ScmOp_car( ScmOp_cdr(lst) )));
-}
-ScmObj ScmOp_caadar(ScmObj lst)
-{
- DECLARE_FUNCTION("caadar", ProcedureFixed1);
- return ScmOp_car( ScmOp_car( ScmOp_cdr( ScmOp_car(lst) )));
-}
-ScmObj ScmOp_caaddr(ScmObj lst)
-{
- DECLARE_FUNCTION("caaddr", ProcedureFixed1);
- return ScmOp_car( ScmOp_car( ScmOp_cdr( ScmOp_cdr(lst) )));
-}
-ScmObj ScmOp_cadaar(ScmObj lst)
-{
- DECLARE_FUNCTION("cadaar", ProcedureFixed1);
- return ScmOp_car( ScmOp_cdr( ScmOp_car( ScmOp_car(lst) )));
-}
-ScmObj ScmOp_cadadr(ScmObj lst)
-{
- DECLARE_FUNCTION("cadadr", ProcedureFixed1);
- return ScmOp_car( ScmOp_cdr( ScmOp_car( ScmOp_cdr(lst) )));
-}
-ScmObj ScmOp_caddar(ScmObj lst)
-{
- DECLARE_FUNCTION("caddar", ProcedureFixed1);
- return ScmOp_car( ScmOp_cdr( ScmOp_cdr( ScmOp_car(lst) )));
-}
-ScmObj ScmOp_cadddr(ScmObj lst)
-{
- DECLARE_FUNCTION("cadddr", ProcedureFixed1);
- return ScmOp_car( ScmOp_cdr( ScmOp_cdr( ScmOp_cdr(lst) )));
-}
-ScmObj ScmOp_cdaaar(ScmObj lst)
-{
- DECLARE_FUNCTION("cdaaar", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_car( ScmOp_car( ScmOp_car(lst) )));
-}
-ScmObj ScmOp_cdaadr(ScmObj lst)
-{
- DECLARE_FUNCTION("cdaadr", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_car( ScmOp_car( ScmOp_cdr(lst) )));
-}
-ScmObj ScmOp_cdadar(ScmObj lst)
-{
- DECLARE_FUNCTION("cdadar", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_car( ScmOp_cdr( ScmOp_car(lst) )));
-}
-ScmObj ScmOp_cdaddr(ScmObj lst)
-{
- DECLARE_FUNCTION("cdaddr", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_car( ScmOp_cdr( ScmOp_cdr(lst) )));
-}
-ScmObj ScmOp_cddaar(ScmObj lst)
-{
- DECLARE_FUNCTION("cddaar", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_cdr( ScmOp_car( ScmOp_car(lst) )));
-}
-ScmObj ScmOp_cddadr(ScmObj lst)
-{
- DECLARE_FUNCTION("cddadr", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_cdr( ScmOp_car( ScmOp_cdr(lst) )));
-}
-ScmObj ScmOp_cdddar(ScmObj lst)
-{
- DECLARE_FUNCTION("cdddar", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_cdr( ScmOp_cdr( ScmOp_car(lst) )));
-}
-ScmObj ScmOp_cddddr(ScmObj lst)
-{
- DECLARE_FUNCTION("cddddr", ProcedureFixed1);
- return ScmOp_cdr( ScmOp_cdr( ScmOp_cdr( ScmOp_cdr(lst) )));
-}
-#endif /* SCM_USE_DEEP_CADRS */
-
ScmObj ScmOp_list(ScmObj args)
{
DECLARE_FUNCTION("list", ProcedureVariadic0);
@@ -1897,6 +1785,10 @@
}
#endif /* SCM_USE_NONSTD_FEATURES */
+#if SCM_USE_DEEP_CADRS
+#include "operations-r5rs-deepcadrs.c"
+#endif /* SCM_USE_DEEP_CADRS */
+
#if SCM_USE_SRFI1
#include "operations-srfi1.c"
#endif
Modified: branches/r5rs/sigscheme/script/build_func_table.rb
===================================================================
--- branches/r5rs/sigscheme/script/build_func_table.rb 2005-11-06 16:28:41 UTC (rev 2033)
+++ branches/r5rs/sigscheme/script/build_func_table.rb 2005-11-06 16:59:04 UTC (rev 2034)
@@ -164,6 +164,11 @@
"r5rs_func_info_table",
["eval.c", "io.c", "operations.c", "sigscheme.c"])
+# R5RS deep c[ad]+r
+build_functable("",
+ "r5rs_deepcadrs_func_info_table",
+ ["operations-r5rs-deepcadrs.c"])
+
# SRFI-1
build_functable("_SRFI1_",
"srfi1_func_info_table",
Modified: branches/r5rs/sigscheme/sigscheme.c
===================================================================
--- branches/r5rs/sigscheme/sigscheme.c 2005-11-06 16:28:41 UTC (rev 2033)
+++ branches/r5rs/sigscheme/sigscheme.c 2005-11-06 16:59:04 UTC (rev 2034)
@@ -177,6 +177,9 @@
#if SCM_USE_REGISTER_TABLE
REGISTER_FUNC_TABLE(r5rs_func_info_table);
Scm_DefineAlias("integer?" , "number?");
+#if SCM_USE_DEEP_CADRS
+ REGISTER_FUNC_TABLE(r5rs_deepcadrs_func_info_table);
+#endif
#if SCM_USE_NONSTD_FEATURES
Scm_DefineAlias("call/cc", "call-with-current-continuation");
#endif
Modified: branches/r5rs/sigscheme/sigscheme.h
===================================================================
--- branches/r5rs/sigscheme/sigscheme.h 2005-11-06 16:28:41 UTC (rev 2033)
+++ branches/r5rs/sigscheme/sigscheme.h 2005-11-06 16:59:04 UTC (rev 2034)
@@ -475,30 +475,6 @@
ScmObj ScmOp_cddr(ScmObj lst);
ScmObj ScmOp_caddr(ScmObj lst);
ScmObj ScmOp_cdddr(ScmObj lst);
-#if SCM_USE_DEEP_CADRS
-ScmObj ScmOp_caaar(ScmObj lst);
-ScmObj ScmOp_caadr(ScmObj lst);
-ScmObj ScmOp_cadar(ScmObj lst);
-ScmObj ScmOp_cdaar(ScmObj lst);
-ScmObj ScmOp_cdadr(ScmObj lst);
-ScmObj ScmOp_cddar(ScmObj lst);
-ScmObj ScmOp_caaaar(ScmObj lst);
-ScmObj ScmOp_caaadr(ScmObj lst);
-ScmObj ScmOp_caadar(ScmObj lst);
-ScmObj ScmOp_caaddr(ScmObj lst);
-ScmObj ScmOp_cadaar(ScmObj lst);
-ScmObj ScmOp_cadadr(ScmObj lst);
-ScmObj ScmOp_caddar(ScmObj lst);
-ScmObj ScmOp_cadddr(ScmObj lst);
-ScmObj ScmOp_cdaaar(ScmObj lst);
-ScmObj ScmOp_cdaadr(ScmObj lst);
-ScmObj ScmOp_cdadar(ScmObj lst);
-ScmObj ScmOp_cdaddr(ScmObj lst);
-ScmObj ScmOp_cddaar(ScmObj lst);
-ScmObj ScmOp_cddadr(ScmObj lst);
-ScmObj ScmOp_cdddar(ScmObj lst);
-ScmObj ScmOp_cddddr(ScmObj lst);
-#endif /* SCM_USE_DEEP_CADRS */
ScmObj ScmOp_list(ScmObj args);
ScmObj ScmOp_nullp(ScmObj obj);
ScmObj ScmOp_listp(ScmObj obj);
@@ -564,6 +540,32 @@
ScmObj ScmOp_sscm_backtrace(void);
#endif
+/* operations-r5rs-deepcadrs.c */
+#if SCM_USE_DEEP_CADRS
+ScmObj ScmOp_caaar(ScmObj lst);
+ScmObj ScmOp_caadr(ScmObj lst);
+ScmObj ScmOp_cadar(ScmObj lst);
+ScmObj ScmOp_cdaar(ScmObj lst);
+ScmObj ScmOp_cdadr(ScmObj lst);
+ScmObj ScmOp_cddar(ScmObj lst);
+ScmObj ScmOp_caaaar(ScmObj lst);
+ScmObj ScmOp_caaadr(ScmObj lst);
+ScmObj ScmOp_caadar(ScmObj lst);
+ScmObj ScmOp_caaddr(ScmObj lst);
+ScmObj ScmOp_cadaar(ScmObj lst);
+ScmObj ScmOp_cadadr(ScmObj lst);
+ScmObj ScmOp_caddar(ScmObj lst);
+ScmObj ScmOp_cadddr(ScmObj lst);
+ScmObj ScmOp_cdaaar(ScmObj lst);
+ScmObj ScmOp_cdaadr(ScmObj lst);
+ScmObj ScmOp_cdadar(ScmObj lst);
+ScmObj ScmOp_cdaddr(ScmObj lst);
+ScmObj ScmOp_cddaar(ScmObj lst);
+ScmObj ScmOp_cddadr(ScmObj lst);
+ScmObj ScmOp_cdddar(ScmObj lst);
+ScmObj ScmOp_cddddr(ScmObj lst);
+#endif /* SCM_USE_DEEP_CADRS */
+
/* io.c */
void SigScm_set_lib_path(const char *path);
ScmObj Scm_MakeSharedFilePort(FILE *file, const char *aux_info,
Modified: branches/r5rs/sigscheme/sigschemefunctable.h
===================================================================
--- branches/r5rs/sigscheme/sigschemefunctable.h 2005-11-06 16:28:41 UTC (rev 2033)
+++ branches/r5rs/sigscheme/sigschemefunctable.h 2005-11-06 16:59:04 UTC (rev 2034)
@@ -67,6 +67,7 @@
Variable Declarations
=======================================*/
extern struct builtin_func_info r5rs_func_info_table[];
+extern struct builtin_func_info r5rs_deepcadrs_func_info_table[];
extern struct builtin_func_info srfi1_func_info_table[];
extern struct builtin_func_info srfi2_func_info_table[];
extern struct builtin_func_info srfi6_func_info_table[];
More information about the uim-commit
mailing list