Ignore:
Timestamp:
Jul 3, 2020, 7:19:17 PM (4 years ago)
Author:
coas-nagasima
Message:

ASP3, TINET, mbed を更新

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  
    102102        {                                                                                                                                       \
    103103                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 )         \
    106106                                /* '=' unecessary for negative value    */                              \
    107107                                /* ignore warning on int32_t */                                                 \
     
    126126        {                                                                                                                                       \
    127127                if( sizeof( type ) > sizeof( mrb_int ) ){                                               \
    128                         if( val >= (((type)1) << (sizeof(mrb_int)*8)))                          \
     128      if( val > TYPE ## _MAX )                        \
    129129                                /* '=' unecessary for negative value    */                              \
    130130                                /* ignore warning on int32_t */                                                 \
     
    148148VALCHECK_MRB_INT( Int16, INT16, int16_t )
    149149VALCHECK_UINT( UInt8, UINT8, uint8_t )
    150 #define VALCHECK_MRB_UInt8
     150#define VALCHECK_MRB_UInt8(mrb,val)
    151151VALCHECK_UINT( UInt16, UINT16, uint16_t )
    152 #define VALCHECK_MRB_UInt16
     152#define VALCHECK_MRB_UInt16(mrb,val)
    153153VALCHECK_INT( Int32, INT32, int32_t )
    154 #define VALCHECK_MRB_Int32
     154#define VALCHECK_MRB_Int32(mrb,val)
    155155VALCHECK_UINT( UInt32, UINT32, uint32_t )
    156 #define VALCHECK_MRB_UInt32
     156#define VALCHECK_MRB_UInt32(mrb,val)
    157157
    158158VALCHECK_INT( Int64, INT64, int64_t )
     
    163163VALCHECK_MRB_UINT( UInt64, UINT64, uint64_t )
    164164#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)      // 範囲チェックが無意味であるため、警告が出るのを回避する
    167167#endif
    168168
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/TECSStruct.h

    r321 r429  
    105105        Struct_ ## TAG ## _initialize( mrb_state *mrb, mrb_value self)          \
    106106        {                                                                                                                                       \
    107                 mrb_int length;                                                                                                 \
    108                 struct  TAG *structBody;                                                                                \
    109107                                                                                                                                                \
    110108                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
    136import_C( "tecs_mruby.h" );
    237
  • 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 */
    135
    236namespace 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
    136// Pointer celltypes
    237
  • 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
    136import( <posix.cdl> );
    237
    338/*
    4  * tools/mruby/mruby.c から cInit_initializeBridge( mrb ) を呼び出すように変更したもの
     39 * POSIX 環境用の VM
     40 * mrbgems の mrbgems/mruby-bin-mruby/tools/mruby/mruby.c を参考に作成したもの
    541 */
    642namespace 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    137/* #[<PREAMBLE>]#
    238 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/nMruby_tMrubyProc.c

    r321 r429  
    11/*
    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
    63 *
    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$
    1134 */
    1235
    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 */
    1442
    1543#include <stdio.h>
     
    1745#include <string.h>
    1846#include "mruby.h"
     47#include "mruby/string.h"
    1948#include "mruby/array.h"
    2049#include "mruby/compile.h"
     
    2251#include "mruby/variable.h"
    2352
    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 */
    3473#endif
    3574
    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>]# */
    3881
    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>]# */
     87int
     88eMain_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) */
    49100
    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   NULL
    63   };
    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  }
    65116
    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 ----------*/
     160error_free:
     161  mrbc_context_free(mrb, context);
     162error_close:
     163  mrb_close( mrb );
     164error_return:
     165
     166  return -1;
    69167}
    70168
    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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • 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
    136/* #[<PREAMBLE>]#
    237 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/mruby/tMruby.cdl

    r321 r429  
    1 
    21/*
    32 *  Copyright (C) 2012 by Ubiquitous Computing and Networking Laboratory
     
    3837
    3938import(<mruby.cdl>);
     39import(<sMruby.cdl>);
     40import(<tTLSFMalloc.cdl>);
    4041
    4142namespace nMruby{
    42   celltype tMruby{
    43     entry sTaskBody eMrubyBody;
     43
     44/*** mruby VM ***/
     45  celltype tMrubyVM{
     46    entry sMrubyVM eMrubyVM;
    4447    attr{
    4548      [omit]char_t *mrubyFile;
    46       char_t *irep=C_EXP("&$cell_global$_irep");
     49      const uint8_t *irep=C_EXP("$cell_global$_irep");
    4750    };
    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 へ結合する */
    5158    [optional]  call sInitializeBridge cInit;
    52    
     59    /*
     60     * アロケータ
     61     *  他と共有しないのであれば、このアロケータは排他制御される必要はない
     62     */
     63    call sMalloc cMalloc;
     64
    5365    FACTORY{
    5466      write("Makefile.tecsgen", "clean_mrb_c :");
     
    6173      write("Makefile.tecsgen", "TECS_COBJS := $(TECS_COBJS) $cell_global$_mrb.o");
    6274      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[];");
    6476    };
    6577  };
     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  };
    66148};
  • 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
    136#ifndef tecs_mruby_h__
    237#define tecs_mruby_h__
     
    944#include "mruby/data.h"
    1045#include "mruby/string.h"
     46#include "mruby/irep.h"
     47#include "mruby/dump.h"
     48#include "mruby/proc.h"
    1149
    1250#include "TECSPointer.h"
    1351#include "TECSStruct.h"
    1452
    15 #if  ! defined( MRUBY_RELEASE_MAJOR ) || MRUBY_RELEASE_MAJOR == 1 && MRUBY_RELEASE_MINOR < 2
    16 #ifndef MRB_ARGS_REQ
    17 #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 #endif
    2853
    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 */
    3455
    3556/*
    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.
    3758 *   types:   long long, long long int
    3859 *   special keyword __attribute__(x), __extension__
    3960 */
    4061typedef int mrb_state;
    41 struct  RClass {int dummy;};
     62typedef int mrb_irep;
     63typedef int mrb_context;
     64struct  RClass {uint32_t gcnext;};  // actual definition: struct RBasic *gcnext
     65struct  RProc  {uint32_t gcnext;};  // actual definition: struct RBasic *gcnext
    4266
    4367typedef 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 )
    4475
    4576#endif /* TECSGEN */
Note: See TracChangeset for help on using the changeset viewer.