Changeset 429 for EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby
- Timestamp:
- Jul 3, 2020, 7:19:17 PM (4 years ago)
- Location:
- EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby
- Files:
-
- 4 added
- 31 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/TECSPointer.h
r321 r429 102 102 { \ 103 103 if( sizeof( type ) > sizeof( mrb_int ) ){ \ 104 if( val > = (((type)1) << (sizeof(mrb_int)*8-1))\105 || val < -(((type)1) << (sizeof(mrb_int)*8-1))) \104 if( val > TYPE ## _MAX \ 105 || val < TYPE ## _MIN ) \ 106 106 /* '=' unecessary for negative value */ \ 107 107 /* ignore warning on int32_t */ \ … … 126 126 { \ 127 127 if( sizeof( type ) > sizeof( mrb_int ) ){ \ 128 if( val >= (((type)1) << (sizeof(mrb_int)*8)))\128 if( val > TYPE ## _MAX ) \ 129 129 /* '=' unecessary for negative value */ \ 130 130 /* ignore warning on int32_t */ \ … … 148 148 VALCHECK_MRB_INT( Int16, INT16, int16_t ) 149 149 VALCHECK_UINT( UInt8, UINT8, uint8_t ) 150 #define VALCHECK_MRB_UInt8 150 #define VALCHECK_MRB_UInt8(mrb,val) 151 151 VALCHECK_UINT( UInt16, UINT16, uint16_t ) 152 #define VALCHECK_MRB_UInt16 152 #define VALCHECK_MRB_UInt16(mrb,val) 153 153 VALCHECK_INT( Int32, INT32, int32_t ) 154 #define VALCHECK_MRB_Int32 154 #define VALCHECK_MRB_Int32(mrb,val) 155 155 VALCHECK_UINT( UInt32, UINT32, uint32_t ) 156 #define VALCHECK_MRB_UInt32 156 #define VALCHECK_MRB_UInt32(mrb,val) 157 157 158 158 VALCHECK_INT( Int64, INT64, int64_t ) … … 163 163 VALCHECK_MRB_UINT( UInt64, UINT64, uint64_t ) 164 164 #else 165 #define VALCHECK_MRB_Int64 // 範囲チェックが無意味であるため、警告が出るのを回避する166 #define VALCHECK_MRB_UInt64 // 範囲チェックが無意味であるため、警告が出るのを回避する165 #define VALCHECK_MRB_Int64(mrb,val) // 範囲チェックが無意味であるため、警告が出るのを回避する 166 #define VALCHECK_MRB_UInt64(mrb,val) // 範囲チェックが無意味であるため、警告が出るのを回避する 167 167 #endif 168 168 -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/TECSStruct.h
r321 r429 105 105 Struct_ ## TAG ## _initialize( mrb_state *mrb, mrb_value self) \ 106 106 { \ 107 mrb_int length; \108 struct TAG *structBody; \109 107 \ 110 108 DATA_TYPE( self ) = &Struct ## TAG ## Body_mrb_data_type; \ -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/mruby.cdl
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 import_C( "tecs_mruby.h" ); 2 37 -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/mrubyInitializer.cdl
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 1 35 2 36 namespace nMruby{ -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/mrubyPointers.cdl
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 // Pointer celltypes 2 37 -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/mrubyVMs.cdl
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 import( <posix.cdl> ); 2 37 3 38 /* 4 * tools/mruby/mruby.c から cInit_initializeBridge( mrb ) を呼び出すように変更したもの 39 * POSIX 環境用の VM 40 * mrbgems の mrbgems/mruby-bin-mruby/tools/mruby/mruby.c を参考に作成したもの 5 41 */ 6 42 namespace nMruby{ -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tBoolPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tCharPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tDouble64Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tFloat32Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 36 1 37 /* #[<PREAMBLE>]# 2 38 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tInt16Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tInt32Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tInt64Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2012 by Ubiquitous Computing and Networking Laboratory 3 * Ritsumeikan Univ., JAPAN 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tInt8Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tIntPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tLongPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tMruby.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tMrubyProc.c
r321 r429 1 1 /* 2 * This file comes from mruby. (renamed from tools/mruby/mruby.c) 3 * This file is distributed under ruby's license. (not under TOPPERS license) 4 * see https://github.com/mruby/mruby 5 * A little modification is done to to call initializer registering TECS components. 2 * Copyright (C) 2008-2017 by TOPPERS Project 6 3 * 7 * このファイルは、mruby のものです。 8 * mruby のライセンスのもとで、配布されます。(TOPPERS ライセンスではありません) 9 * 参照: https://github.com/mruby/mruby 10 * TECS コンポーネントを登録する初期化子を呼ぶため、少しの修正がなされています。 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 11 34 */ 12 35 13 #include "nMruby_tMrubyProc_tecsgen.h" 36 /* 37 * 以前の nMruby_tMrubyProc.c は、mruby の本体に含まれていた 38 * mrbgems/mruby-bin-mruby/tools/mruby/mruby.c 39 * をベースに TECS のコードを足していたが、TOPPERS ライセンスと異なるため 40 * 新たに書き下ろした。(小さなコードのため、概ね似たようなものになるが。 41 */ 14 42 15 43 #include <stdio.h> … … 17 45 #include <string.h> 18 46 #include "mruby.h" 47 #include "mruby/string.h" 19 48 #include "mruby/array.h" 20 49 #include "mruby/compile.h" … … 22 51 #include "mruby/variable.h" 23 52 24 #ifndef ENABLE_STDIO 25 static void 26 p(mrb_state *mrb, mrb_value obj) 27 { 28 obj = mrb_funcall(mrb, obj, "inspect", 0); 29 fwrite(RSTRING_PTR(obj), RSTRING_LEN(obj), 1, stdout); 30 putc('\n', stdout); 31 } 32 #else 33 #define p(mrb,obj) mrb_p(mrb,obj) 53 /* #[<PREAMBLE>]# 54 * Don't edit the comments between #[<...>]# and #[</...>]# 55 * These comment are used by tecsmerege when merging. 56 * 57 * attr access macro #_CAAM_# 58 * mrb mrb_state* VAR_mrb 59 * 60 * call port function #_TCPF_# 61 * call port: cInit signature: nMruby_sInitializeBridge context:task optional:true 62 * bool_t is_cInit_joined() check if joined 63 * void cInit_initializeBridge( const mrb_state* mrb ); 64 * 65 * #[</PREAMBLE>]# */ 66 67 /* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */ 68 #include "nMruby_tMrubyProc_tecsgen.h" 69 70 #ifndef E_OK 71 #define E_OK 0 /* success */ 72 #define E_ID (-18) /* illegal ID */ 34 73 #endif 35 74 36 void mrb_show_version(mrb_state *); 37 void mrb_show_copyright(mrb_state *); 75 /* 受け口関数 #_TEPF_# */ 76 /* #[<ENTRY_PORT>]# eMain 77 * entry port: eMain 78 * signature: nPosix_sMain 79 * context: task 80 * #[</ENTRY_PORT>]# */ 38 81 39 struct _args { 40 FILE *rfp; 41 char* cmdline; 42 mrb_bool fname : 1; 43 mrb_bool mrbfile : 1; 44 mrb_bool check_syntax : 1; 45 mrb_bool verbose : 1; 46 int argc; 47 char** argv; 48 }; 82 /* #[<ENTRY_FUNC>]# eMain_main 83 * name: eMain_main 84 * global_name: nMruby_tMrubyProc_eMain_main 85 * oneway: false 86 * #[</ENTRY_FUNC>]# */ 87 int 88 eMain_main(CELLIDX idx, int argc, const char** argv) 89 { 90 CELLCB *p_cellcb; 91 mrb_state *mrb; 92 mrbc_context* context; 93 if (VALID_IDX(idx)) { 94 p_cellcb = GET_CELLCB(idx); 95 } 96 else { 97 /* エラー処理コードをここに記述します */ 98 return -1; 99 } /* end if VALID_IDX(idx) */ 49 100 50 static void 51 usage(const char *name) 52 { 53 static const char *const usage_msg[] = {54 "switches:",55 "-b load and execute RiteBinary (mrb) file",56 "-c check syntax only",57 "-e 'command' one line of script",58 "-v print version number, then run in verbose mode",59 "--verbose run in verbose mode",60 "--version print the version",61 "--copyright print the copyright",62 NULL63 };64 const char *const *p = usage_msg;101 /* ここに処理本体を記述します #_TEFB_# */ 102 if (argc != 2) { 103 printf("usage: %s script.rb\n", argv[0]); 104 goto error_return; 105 } 106 mrb = mrb_open(); 107 if( mrb == 0 ){ 108 printf("%s: mrb_open() failed\n", argv[0]); 109 goto error_return; 110 } 111 context = mrbc_context_new(mrb); 112 if (context == 0) { 113 printf("%s: mrbc_context_new() failed\n", argv[0]); 114 goto error_close; 115 } 65 116 66 printf("Usage: %s [switches] programfile\n", name); 67 while (*p) 68 printf(" %s\n", *p++); 117 /*-------- ARGV ----------*/ 118 { 119 mrb_value ARGV = mrb_ary_new_capa(mrb, argc); 120 int i; 121 for (i = 0; i < argc; i++) { 122 mrb_ary_push(mrb, ARGV, mrb_str_new_cstr(mrb, argv[i])); 123 } 124 mrb_define_global_const(mrb, "ARGV", ARGV); 125 } 126 /*-------- $0 ----------*/ 127 { 128 mrb_sym zero_sym = mrb_intern_lit(mrb, "$0"); 129 mrbc_filename(mrb, context, argv[0]); 130 mrb_gv_set(mrb, zero_sym, mrb_str_new_cstr(mrb, argv[0])); 131 } 132 133 /* ------- register TECS bridge classes -------*/ 134 if (is_cInit_joined()) { 135 cInit_initializeBridge(mrb); 136 } 137 138 /*-------- load .rb file -------*/ 139 { 140 FILE *file = fopen(argv[1], "r"); 141 if (file == NULL) { 142 printf("file not found: %s\n", argv[1]); 143 goto error_free; 144 } 145 146 mrb_value val = mrb_load_file_cxt(mrb, file, context); 147 if (mrb->exc) { 148 if(! mrb_undef_p(val)){ 149 mrb_print_error(mrb); 150 } 151 } 152 } 153 154 /*---------- success case --------*/ 155 mrbc_context_free(mrb, context); 156 mrb_close( mrb ); 157 return 0; 158 159 /*---------- error case ----------*/ 160 error_free: 161 mrbc_context_free(mrb, context); 162 error_close: 163 mrb_close( mrb ); 164 error_return: 165 166 return -1; 69 167 } 70 168 71 static int 72 parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args) 73 { 74 char **origargv = argv; 75 static const struct _args args_zero = { 0 }; 76 77 *args = args_zero; 78 79 for (argc--,argv++; argc > 0; argc--,argv++) { 80 char *item; 81 if (argv[0][0] != '-') break; 82 83 if (strlen(*argv) <= 1) { 84 argc--; argv++; 85 args->rfp = stdin; 86 break; 87 } 88 89 item = argv[0] + 1; 90 switch (*item++) { 91 case 'b': 92 args->mrbfile = TRUE; 93 break; 94 case 'c': 95 args->check_syntax = TRUE; 96 break; 97 case 'e': 98 if (item[0]) { 99 goto append_cmdline; 100 } 101 else if (argc > 1) { 102 argc--; argv++; 103 item = argv[0]; 104 append_cmdline: 105 if (!args->cmdline) { 106 size_t buflen; 107 char *buf; 108 109 buflen = strlen(item) + 1; 110 buf = (char *)mrb_malloc(mrb, buflen); 111 memcpy(buf, item, buflen); 112 args->cmdline = buf; 113 } 114 else { 115 size_t cmdlinelen; 116 size_t itemlen; 117 118 cmdlinelen = strlen(args->cmdline); 119 itemlen = strlen(item); 120 args->cmdline = 121 (char *)mrb_realloc(mrb, args->cmdline, cmdlinelen + itemlen + 2); 122 args->cmdline[cmdlinelen] = '\n'; 123 memcpy(args->cmdline + cmdlinelen + 1, item, itemlen + 1); 124 } 125 } 126 else { 127 printf("%s: No code specified for -e\n", *origargv); 128 return EXIT_SUCCESS; 129 } 130 break; 131 case 'v': 132 if (!args->verbose) mrb_show_version(mrb); 133 args->verbose = TRUE; 134 break; 135 case '-': 136 if (strcmp((*argv) + 2, "version") == 0) { 137 mrb_show_version(mrb); 138 exit(EXIT_SUCCESS); 139 } 140 else if (strcmp((*argv) + 2, "verbose") == 0) { 141 args->verbose = TRUE; 142 break; 143 } 144 else if (strcmp((*argv) + 2, "copyright") == 0) { 145 mrb_show_copyright(mrb); 146 exit(EXIT_SUCCESS); 147 } 148 default: 149 return EXIT_FAILURE; 150 } 151 } 152 153 if (args->rfp == NULL && args->cmdline == NULL) { 154 if (*argv == NULL) args->rfp = stdin; 155 else { 156 args->rfp = fopen(argv[0], args->mrbfile ? "rb" : "r"); 157 if (args->rfp == NULL) { 158 printf("%s: Cannot open program file. (%s)\n", *origargv, *argv); 159 return EXIT_FAILURE; 160 } 161 args->fname = TRUE; 162 args->cmdline = argv[0]; 163 argc--; argv++; 164 } 165 } 166 args->argv = (char **)mrb_realloc(mrb, args->argv, sizeof(char*) * (argc + 1)); 167 memcpy(args->argv, argv, (argc+1) * sizeof(char*)); 168 args->argc = argc; 169 170 return EXIT_SUCCESS; 171 } 172 173 static void 174 cleanup(mrb_state *mrb, struct _args *args) 175 { 176 if (args->rfp && args->rfp != stdin) 177 fclose(args->rfp); 178 if (args->cmdline && !args->fname) 179 mrb_free(mrb, args->cmdline); 180 if (args->argv) 181 mrb_free(mrb, args->argv); 182 mrb_close(mrb); 183 } 184 185 int 186 // main(int argc, char **argv) 187 eMain_main( CELLIDX idx, int argc, const char **argv) 188 189 { 190 CELLCB *p_cellcb = GET_CELLCB( idx ); 191 mrb_state *mrb = mrb_open(); 192 int n = -1; 193 int i; 194 struct _args args; 195 mrb_value ARGV; 196 mrbc_context *c; 197 mrb_value v; 198 mrb_sym zero_sym; 199 200 cInit_initializeBridge( mrb ); // TECS 201 202 203 if (mrb == NULL) { 204 fputs("Invalid mrb_state, exiting mruby\n", stderr); 205 return EXIT_FAILURE; 206 } 207 208 n = parse_args(mrb, argc, (char **)argv, &args); 209 if (n == EXIT_FAILURE || (args.cmdline == NULL && args.rfp == NULL)) { 210 cleanup(mrb, &args); 211 usage(argv[0]); 212 return n; 213 } 214 215 ARGV = mrb_ary_new_capa(mrb, args.argc); 216 for (i = 0; i < args.argc; i++) { 217 mrb_ary_push(mrb, ARGV, mrb_str_new_cstr(mrb, args.argv[i])); 218 } 219 mrb_define_global_const(mrb, "ARGV", ARGV); 220 221 c = mrbc_context_new(mrb); 222 if (args.verbose) 223 c->dump_result = TRUE; 224 if (args.check_syntax) 225 c->no_exec = TRUE; 226 227 /* Set $0 */ 228 zero_sym = mrb_intern_lit(mrb, "$0"); 229 if (args.rfp) { 230 char *cmdline; 231 cmdline = args.cmdline ? args.cmdline : "-"; 232 mrbc_filename(mrb, c, cmdline); 233 mrb_gv_set(mrb, zero_sym, mrb_str_new_cstr(mrb, cmdline)); 234 } 235 else { 236 mrbc_filename(mrb, c, "-e"); 237 mrb_gv_set(mrb, zero_sym, mrb_str_new_lit(mrb, "-e")); 238 } 239 240 /* Load program */ 241 if (args.mrbfile) { 242 v = mrb_load_irep_file_cxt(mrb, args.rfp, c); 243 } 244 else if (args.rfp) { 245 v = mrb_load_file_cxt(mrb, args.rfp, c); 246 } 247 else { 248 v = mrb_load_string_cxt(mrb, args.cmdline, c); 249 } 250 251 mrbc_context_free(mrb, c); 252 if (mrb->exc) { 253 if (!mrb_undef_p(v)) { 254 mrb_print_error(mrb); 255 } 256 n = -1; 257 } 258 else if (args.check_syntax) { 259 printf("Syntax OK\n"); 260 } 261 cleanup(mrb, &args); 262 263 return n == 0 ? EXIT_SUCCESS : EXIT_FAILURE; 264 } 169 /* #[<POSTAMBLE>]# 170 * Put non-entry functions below. 171 * #[</POSTAMBLE>]#*/ -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tSCharPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tShortPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tTECSInitializer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tUCharPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tUInt16Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tUInt32Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tUInt64Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tUInt8Pointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tUIntPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tULongPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tUShortPointer.c
r321 r429 1 /* 2 * Copyright (C) 2008-2017 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 /* #[<PREAMBLE>]# 2 37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/tMruby.cdl
r321 r429 1 2 1 /* 3 2 * Copyright (C) 2012 by Ubiquitous Computing and Networking Laboratory … … 38 37 39 38 import(<mruby.cdl>); 39 import(<sMruby.cdl>); 40 import(<tTLSFMalloc.cdl>); 40 41 41 42 namespace nMruby{ 42 celltype tMruby{ 43 entry sTaskBody eMrubyBody; 43 44 /*** mruby VM ***/ 45 celltype tMrubyVM{ 46 entry sMrubyVM eMrubyVM; 44 47 attr{ 45 48 [omit]char_t *mrubyFile; 46 c har_t *irep=C_EXP("&$cell_global$_irep");49 const uint8_t *irep=C_EXP("$cell_global$_irep"); 47 50 }; 48 49 /* write関数の接続先 */ 50 // [optional] call sSerialPort cSerialPort; 51 var{ 52 mrb_irep *var_irep; 53 mrb_state *mrb; 54 struct RProc *rproc; 55 }; 56 57 /* MrubyBridgePlugin の生成する VM_TECSInitializeer.eInitialize へ結合する */ 51 58 [optional] call sInitializeBridge cInit; 52 59 /* 60 * アロケータ 61 * 他と共有しないのであれば、このアロケータは排他制御される必要はない 62 */ 63 call sMalloc cMalloc; 64 53 65 FACTORY{ 54 66 write("Makefile.tecsgen", "clean_mrb_c :"); … … 61 73 write("Makefile.tecsgen", "TECS_COBJS := $(TECS_COBJS) $cell_global$_mrb.o"); 62 74 write("Makefile.tecsgen", "MRB_C := $(MRB_C) $cell_global$_mrb.c"); 63 write("$ct_global$_factory.h","extern const char_t *$cell_global$_irep;");75 write("$ct_global$_factory.h","extern const uint8_t $cell_global$_irep[];"); 64 76 }; 65 77 }; 78 79 /*** Standard Task Versoin ***/ 80 /* 81 * tMruby の eMrubyBody.main が、繰り返し起床されることは想定されていません。 82 */ 83 celltype tMrubyTaskBody{ 84 entry sTaskBody eMrubyBody; 85 call sMrubyVM cMrubyVM; 86 }; 87 composite tMruby{ 88 entry sTaskBody eMrubyBody; 89 [optional] call sInitializeBridge cInit; 90 attr{ 91 [omit]char_t *mrubyFile; 92 size_t memoryPoolSize = 1024 * 1024; /** 1MB default **/ 93 /* note: this requires enough memory */ 94 /* please pay attention to memory layout */ 95 }; 96 97 /** **/ 98 cell tMrubyVM MrubyVM{ 99 mrubyFile = composite.mrubyFile; 100 cInit => composite.cInit; 101 cMalloc = TLSFMalloc.eMalloc; 102 }; 103 cell tMrubyTaskBody MrubyTaskBody { 104 cMrubyVM = MrubyVM.eMrubyVM; 105 }; 106 cell tTLSFMalloc TLSFMalloc { 107 memoryPoolSize = composite.memoryPoolSize; 108 }; 109 composite.eMrubyBody => MrubyTaskBody.eMrubyBody; 110 }; 111 112 /*** Cyclic Task Versoin ***/ 113 /* 114 * tMrubyCyclic の eMrubyBody.main が繰り返し呼び出されることが想定されています。 115 * この実装では mrb_close は呼び出されません (終了は、突然電源が切れることを想定) 116 */ 117 celltype tMrubyCyclicTaskBody{ 118 entry sTaskBody eMrubyBody; 119 call sMrubyVM cMrubyVM; 120 var { 121 bool_t b_init; 122 }; 123 }; 124 composite tMrubyCyclic{ 125 entry sTaskBody eMrubyBody; 126 [optional] call sInitializeBridge cInit; 127 attr{ 128 [omit]char_t *mrubyFile; 129 size_t memoryPoolSize = 1024 * 1024; /** 1MB default **/ 130 /* note: this requires enough memory */ 131 /* please pay attention to memory layout */ 132 }; 133 134 /** **/ 135 cell tMrubyVM MrubyVM{ 136 mrubyFile = composite.mrubyFile; 137 cInit => composite.cInit; 138 cMalloc = TLSFMalloc.eMalloc; 139 }; 140 cell tMrubyCyclicTaskBody MrubyTaskBody { 141 cMrubyVM = MrubyVM.eMrubyVM; 142 }; 143 cell tTLSFMalloc TLSFMalloc { 144 memoryPoolSize = composite.memoryPoolSize; 145 }; 146 composite.eMrubyBody => MrubyTaskBody.eMrubyBody; 147 }; 66 148 }; -
EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/tecs_mruby.h
r321 r429 1 /* 2 * Copyright (C) 2008-2019 by TOPPERS Project 3 * 4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 9 * スコード中に含まれていること. 10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 13 * の無保証規定を掲載すること. 14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 16 * と. 17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 18 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 20 * 報告すること. 21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 25 * 免責すること. 26 * 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 31 * の責任を負わない. 32 * 33 * @(#) $Id$ 34 */ 35 1 36 #ifndef tecs_mruby_h__ 2 37 #define tecs_mruby_h__ … … 9 44 #include "mruby/data.h" 10 45 #include "mruby/string.h" 46 #include "mruby/irep.h" 47 #include "mruby/dump.h" 48 #include "mruby/proc.h" 11 49 12 50 #include "TECSPointer.h" 13 51 #include "TECSStruct.h" 14 52 15 #if ! defined( MRUBY_RELEASE_MAJOR ) || MRUBY_RELEASE_MAJOR == 1 && MRUBY_RELEASE_MINOR < 216 #ifndef MRB_ARGS_REQ17 #define MRB_ARGS_REQ(n) ARGS_REQ(n)18 #define MRB_ARGS_OPT(n) ARGS_OPT(n)19 #define MRB_ARGS_ARG(n1,n2) ARGS_ARG(n1,n2)20 #define MRB_ARGS_REST() ARGS_REST()21 #define MRB_ARGS_POST(n) ARGS_POST(n)22 #define MRB_ARGS_KEY(n1,n2) ARGS_KEY(n1,n2)23 #define MRB_ARGS_BLOCK() ARGS_BLOCK()24 #define MRB_ARGS_ANY() ARGS_ANY()25 #define MRB_ARGS_NONE() ARGS_NONE()26 #endif /* MRB_ARGS_REQ */27 #endif28 53 29 #if ! defined( MRUBY_RELEASE_MAJOR ) 30 #define mrb_float_value( mrb, val ) mrb_float_value( val ) 31 #endif 32 33 #else 54 #else /* TECSGEN */ 34 55 35 56 /* 36 * fake tecsgen because tecsgen cannot accept actual mruby.h in case of below.57 * fake definition because tecsgen cannot accept actual mruby.h in case of below. 37 58 * types: long long, long long int 38 59 * special keyword __attribute__(x), __extension__ 39 60 */ 40 61 typedef int mrb_state; 41 struct RClass {int dummy;}; 62 typedef int mrb_irep; 63 typedef int mrb_context; 64 struct RClass {uint32_t gcnext;}; // actual definition: struct RBasic *gcnext 65 struct RProc {uint32_t gcnext;}; // actual definition: struct RBasic *gcnext 42 66 43 67 typedef int CELLCB; 68 69 #define GET_SET_BOOL( Type, type ) 70 #define GET_SET_CHAR( Type, type ) 71 #define GET_SET_INT( Type, type ) 72 #define GET_SET_FLOAT( Type, type ) 73 #define POINTER_CLASS( Type, type ) 74 #define CHECK_AND_GET_POINTER( Type, type ) 44 75 45 76 #endif /* TECSGEN */
Note:
See TracChangeset
for help on using the changeset viewer.