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
Files:
61 added
88 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/MANIFEST_for_asp3

    r270 r429  
    2525tecslib/core/tecs_lang.rb
    2626tecslib/core/tecsgen.rb
     27tecslib/core/tecsinfo.rb
     28tecslib/core/tool_info.rb
    2729tecslib/core/types.rb
     30tecslib/core/unjoin_plugin.rb
    2831tecslib/core/value.rb
    2932
     
    3639tecslib/plugin/CellPlugin.rb
    3740tecslib/plugin/CelltypePlugin.rb
     41tecslib/plugin/CompositePlugin.rb
    3842tecslib/plugin/DomainPlugin.rb
    3943tecslib/plugin/Mruby2CBridgePlugin.rb
    4044tecslib/plugin/MrubyBridgePlugin.rb
     45tecslib/plugin/MultiPlugin.rb
    4146tecslib/plugin/NotifierPlugin.rb
    4247tecslib/plugin/RPCPlugin.rb
     
    97102tecs/rpc/tTDR_inline.h
    98103tecs/rpc/tecs_rpc.h
     104tecs/rpc/tMessageBufferCEP.cdl
     105tecs/rpc/tMessageBufferCEP_inline.h
     106tecs/rpc/tMessageBufferChannel.cdl
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/MANIFEST_tecsgen_body

    r270 r429  
    22
    33Makefile
    4 
     4tecscde
     5tecscde.rb
    56tecsgen
    67tecsgen.rb
     8tecsgen_rcov.rb
    79tecsmerge
    810tecsmerge.rb
    9 tecslib/version.rb
    10 
     11cdelib/Makefile
     12cdelib/cell_plugin_dialog.rb
     13cdelib/cell_plugin_dialog_ui_definition.rb
     14cdelib/palette.rb
     15cdelib/saveload.rb
     16cdelib/tcontrol.rb
     17cdelib/tmodel.rb
     18cdelib/tview.rb
     19cdelib/version.rb
     20tecs/TECSInfo/TECSInfo.cdl
     21tecs/TECSInfo/TECSInfoAccessor.cdl
     22tecs/TECSInfo/nTECSInfo_tArrayTypeInfo.c
     23tecs/TECSInfo/nTECSInfo_tBoolTypeInfo.c
     24tecs/TECSInfo/nTECSInfo_tCallInfo.c
     25tecs/TECSInfo/nTECSInfo_tCellInfo.c
     26tecs/TECSInfo/nTECSInfo_tCelltypeInfo.c
     27tecs/TECSInfo/nTECSInfo_tDefinedTypeInfo.c
     28tecs/TECSInfo/nTECSInfo_tDescriptorTypeInfo.c
     29tecs/TECSInfo/nTECSInfo_tEntryInfo.c
     30tecs/TECSInfo/nTECSInfo_tFloatTypeInfo.c
     31tecs/TECSInfo/nTECSInfo_tFunctionInfo.c
     32tecs/TECSInfo/nTECSInfo_tIntTypeInfo.c
     33tecs/TECSInfo/nTECSInfo_tNamespaceInfo.c
     34tecs/TECSInfo/nTECSInfo_tParamInfo.c
     35tecs/TECSInfo/nTECSInfo_tPtrTypeInfo.c
     36tecs/TECSInfo/nTECSInfo_tRawEntryDescriptorInfo.c
     37tecs/TECSInfo/nTECSInfo_tRegionInfo.c
     38tecs/TECSInfo/nTECSInfo_tSignatureInfo.c
     39tecs/TECSInfo/nTECSInfo_tStructTypeInfo.c
     40tecs/TECSInfo/nTECSInfo_tTECSInfoAccessor.c
     41tecs/TECSInfo/nTECSInfo_tTECSInfoSub.c
     42tecs/TECSInfo/nTECSInfo_tTECSInfo_inline.h
     43tecs/TECSInfo/nTECSInfo_tTypeInfo.c
     44tecs/TECSInfo/nTECSInfo_tVarDeclInfo.c
     45tecs/TECSInfo/nTECSInfo_tVoidTypeInfo.c
     46tecs/TECSInfo/tTECSInfoAccessor.c
     47tecs/TLSFMalloc/README-TLSF.txt
     48tecs/TLSFMalloc/tTLSFMalloc.cdl
     49tecs/TLSFMalloc/tTLSFMalloc_inline.h
     50tecs/mruby/README-mruby.txt
     51tecs/mruby/TECSPointer.h
     52tecs/mruby/TECSStruct.h
     53tecs/mruby/mruby.cdl
     54tecs/mruby/mrubyBridge.txt
     55tecs/mruby/mrubyInitializer.cdl
     56tecs/mruby/mrubyPointers.cdl
     57tecs/mruby/mrubyTECSPointer.txt
     58tecs/mruby/mrubyTECSStruct.txt
     59tecs/mruby/mrubyVMs.cdl
     60tecs/mruby/nMruby_tBoolPointer.c
     61tecs/mruby/nMruby_tCharPointer.c
     62tecs/mruby/nMruby_tDouble64Pointer.c
     63tecs/mruby/nMruby_tFloat32Pointer.c
     64tecs/mruby/nMruby_tInt16Pointer.c
     65tecs/mruby/nMruby_tInt32Pointer.c
     66tecs/mruby/nMruby_tInt64Pointer.c
     67tecs/mruby/nMruby_tInt8Pointer.c
     68tecs/mruby/nMruby_tIntPointer.c
     69tecs/mruby/nMruby_tLongPointer.c
     70tecs/mruby/nMruby_tMruby.c
     71tecs/mruby/nMruby_tMrubyCyclicTaskBody.c
     72tecs/mruby/nMruby_tMrubyProc.c
     73tecs/mruby/nMruby_tMrubyTaskBody.c
     74tecs/mruby/nMruby_tMrubyVM.c
     75tecs/mruby/nMruby_tSCharPointer.c
     76tecs/mruby/nMruby_tShortPointer.c
     77tecs/mruby/nMruby_tTECSInitializer.c
     78tecs/mruby/nMruby_tUCharPointer.c
     79tecs/mruby/nMruby_tUInt16Pointer.c
     80tecs/mruby/nMruby_tUInt32Pointer.c
     81tecs/mruby/nMruby_tUInt64Pointer.c
     82tecs/mruby/nMruby_tUInt8Pointer.c
     83tecs/mruby/nMruby_tUIntPointer.c
     84tecs/mruby/nMruby_tULongPointer.c
     85tecs/mruby/nMruby_tUShortPointer.c
     86tecs/mruby/sMruby.cdl
     87tecs/mruby/tMruby.cdl
     88tecs/mruby/tecs_mruby.h
     89tecs/posix/posix.cdl
     90tecs/rpc/PPAllocator.cdl
     91tecs/rpc/RPCTask.cdl
     92tecs/rpc/TDR.cdl
     93tecs/rpc/rpc.cdl
     94tecs/rpc/rpc_string.h
     95tecs/rpc/sChannel.cdl
     96tecs/rpc/sRPCErrorHandler.cdl
     97tecs/rpc/tDataqueueAdaptor_inline.h
     98tecs/rpc/tDataqueueOWChannel.cdl
     99tecs/rpc/tMessageBufferCEP.cdl
     100tecs/rpc/tMessageBufferCEP_inline.h
     101tecs/rpc/tMessageBufferChannel.cdl
     102tecs/rpc/tNBOTDR_inline.h
     103tecs/rpc/tPPAllocator.c
     104tecs/rpc/tRPCDedicatedTaskMain.c
     105tecs/rpc/tRPCDedicatedTaskMainWithOpener.c
     106tecs/rpc/tRPCSharedChannelMan.c
     107tecs/rpc/tRPCSharedTaskMain.c
     108tecs/rpc/tRPCSharedTaskMainWithOpener.c
     109tecs/rpc/tSocketChannel.cdl
     110tecs/rpc/tSocketClient.c
     111tecs/rpc/tSocketServer.c
     112tecs/rpc/tTDR_inline.h
     113tecs/rpc/tTINETChannel.cdl
     114tecs/rpc/tTINETClient.c
     115tecs/rpc/tTINETServer.c
     116tecs/rpc/tecs_rpc.h
     117tecs/sMalloc.cdl
     118tecs/tecs.h
     119tecs/tecs.xsd
    11120tecslib/core/C_parser.tab.rb
    12121tecslib/core/C_parser.y.rb
     
    26135tecslib/core/tecs_lang.rb
    27136tecslib/core/tecsgen.rb
     137tecslib/core/tecsinfo.rb
     138tecslib/core/tool_info.rb
    28139tecslib/core/types.rb
     140tecslib/core/unjoin_plugin.rb
    29141tecslib/core/value.rb
    30 
    31142tecslib/messages/messages_console_en_US.rb
    32143tecslib/messages/messages_console_ja_JP.rb
    33144tecslib/messages/messages_file_en_US.rb
    34145tecslib/messages/messages_file_ja_JP.rb
    35 
    36146tecslib/plugin/ATK1AlarmPlugin.rb
    37147tecslib/plugin/ATK1DelayTaskPlugin.rb
     
    44154tecslib/plugin/CellPlugin.rb
    45155tecslib/plugin/CelltypePlugin.rb
     156tecslib/plugin/CompositePlugin.rb
    46157tecslib/plugin/DomainPlugin.rb
    47158tecslib/plugin/HRP2AlarmHandlerPlugin.rb
     
    61172tecslib/plugin/HRP2SemaphorePlugin.rb
    62173tecslib/plugin/HRP2TaskPlugin.rb
     174tecslib/plugin/HRPHandlerPlugin.rb
     175tecslib/plugin/HRPKernelObjectManager.rb
     176tecslib/plugin/HRPKernelObjectPlugin.rb
     177tecslib/plugin/HRPObjectPlugin.rb
     178tecslib/plugin/HRPPlugin.rb
     179tecslib/plugin/HRPRPCPlugin.rb
     180tecslib/plugin/HRPSVCPlugin.rb
     181tecslib/plugin/HRPTaskPlugin.rb
    63182tecslib/plugin/Mruby2CBridgePlugin.rb
     183tecslib/plugin/MrubyBridgeCellPlugin.rb
     184tecslib/plugin/MrubyBridgeCelltypePlugin.rb
     185tecslib/plugin/MrubyBridgeCompositePlugin.rb
    64186tecslib/plugin/MrubyBridgePlugin.rb
     187tecslib/plugin/MrubyBridgeSignaturePlugin.rb
     188tecslib/plugin/MultiPlugin.rb
    65189tecslib/plugin/NotifierPlugin.rb
    66190tecslib/plugin/OpaqueMarshalerPlugin.rb
    67191tecslib/plugin/OpaqueRPCPlugin.rb
    68192tecslib/plugin/RPCPlugin.rb
     193tecslib/plugin/RepeatCellPlugin.rb
     194tecslib/plugin/RepeatJoinPlugin.rb
    69195tecslib/plugin/SharedOpaqueRPCPlugin.rb
    70196tecslib/plugin/SharedRPCPlugin.rb
    71197tecslib/plugin/SignaturePlugin.rb
    72198tecslib/plugin/TECS2CBridgePlugin.rb
     199tecslib/plugin/TECSInfoPlugin.rb
    73200tecslib/plugin/ThroughPlugin.rb
    74201tecslib/plugin/TracePlugin.rb
     
    77204tecslib/plugin/lib/GenParamCopy.rb
    78205tecslib/plugin/lib/GenTransparentMarshaler.rb
    79 
    80 tecs/mruby/TECSPointer.h
    81 tecs/mruby/TECSStruct.h
    82 tecs/mruby/mruby.cdl
    83 tecs/mruby/mrubyInitializer.cdl
    84 tecs/mruby/mrubyPointers.cdl
    85 tecs/mruby/mrubyVMs.cdl
    86 tecs/mruby/nMruby_tBoolPointer.c
    87 tecs/mruby/nMruby_tCharPointer.c
    88 tecs/mruby/nMruby_tDouble64Pointer.c
    89 tecs/mruby/nMruby_tFloat32Pointer.c
    90 tecs/mruby/nMruby_tInt16Pointer.c
    91 tecs/mruby/nMruby_tInt32Pointer.c
    92 tecs/mruby/nMruby_tInt64Pointer.c
    93 tecs/mruby/nMruby_tInt8Pointer.c
    94 tecs/mruby/nMruby_tIntPointer.c
    95 tecs/mruby/nMruby_tLongPointer.c
    96 tecs/mruby/nMruby_tMruby.c
    97 tecs/mruby/nMruby_tMrubyProc.c
    98 tecs/mruby/nMruby_tMrubyProc_1_0.c
    99 tecs/mruby/nMruby_tSCharPointer.c
    100 tecs/mruby/nMruby_tShortPointer.c
    101 tecs/mruby/nMruby_tTECSInitializer.c
    102 tecs/mruby/nMruby_tUCharPointer.c
    103 tecs/mruby/nMruby_tUInt16Pointer.c
    104 tecs/mruby/nMruby_tUInt32Pointer.c
    105 tecs/mruby/nMruby_tUInt64Pointer.c
    106 tecs/mruby/nMruby_tUInt8Pointer.c
    107 tecs/mruby/nMruby_tUIntPointer.c
    108 tecs/mruby/nMruby_tULongPointer.c
    109 tecs/mruby/nMruby_tUShortPointer.c
    110 tecs/mruby/tMruby.cdl
    111 tecs/mruby/tecs_mruby.h
    112 tecs/posix/posix.cdl
    113 tecs/rpc/PPAllocator.cdl
    114 tecs/rpc/RPCTask.cdl
    115 tecs/rpc/TDR.cdl
    116 tecs/rpc/rpc.cdl
    117 tecs/rpc/rpc_string.h
    118 tecs/rpc/sChannel.cdl
    119 tecs/rpc/sRPCErrorHandler.cdl
    120 tecs/rpc/tDataqueueAdaptor_inline.h
    121 tecs/rpc/tDataqueueOWChannel.cdl
    122 tecs/rpc/tNBOTDR_inline.h
    123 tecs/rpc/tPPAllocator.c
    124 tecs/rpc/tRPCDedicatedTaskMain.c
    125 tecs/rpc/tRPCDedicatedTaskMainWithOpener.c
    126 tecs/rpc/tRPCSharedChannelMan.c
    127 tecs/rpc/tRPCSharedTaskMain.c
    128 tecs/rpc/tRPCSharedTaskMainWithOpener.c
    129 tecs/rpc/tSocketChannel.cdl
    130 tecs/rpc/tSocketClient.c
    131 tecs/rpc/tSocketServer.c
    132 tecs/rpc/tTDR_inline.h
    133 tecs/rpc/tTINETChannel.cdl
    134 tecs/rpc/tTINETClient.c
    135 tecs/rpc/tTINETServer.c
    136 tecs/rpc/tecs_rpc.h
    137 tecs/tecs.h
    138 tecs/tecs.xsd
     206tecslib/plugin/lib/MrubyBridgeCelltypePluginModule.rb
     207tecslib/version.rb
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/Makefile

    r321 r429  
    3434#   の責任を負わない.
    3535
    36 #   $Id$
     36#   $Id: Makefile 2640 2017-06-03 11:27:12Z okuma-top $
    3737#++
    3838
     
    7676C_TAB = $(LIB_PATH)/C_parser.tab.rb
    7777EXERB_EXE = tecsgen.exe
    78 EXERB_EXY = tecsgen.exy
    7978
    8079all: generator
     
    105104        racc -v -g -o $(GEN_TAB_DEB) $(BNF)     # yydebug を有効にする
    106105
    107 # exerb : $(EXERB_EXE)
    108 exerb :
    109         @echo "!!! please build using ActiveScriptRuby !!!"
    110         exit 1
    111 
    112 # $(EXERB_EXE) : $(EXERB_EXY) $(GEN_SRC) $(PLUGIN_SRC)
    113 #       exerb  $(EXERB_EXY)
    114 # tecsgen.exy.ini から tecsgen.exy を生成するのは util/release.sh により行われる
    115 # MANIFEST に記載のバージョン番号が、tecsgen.exy.ini の文字列置換により、埋め込まれる
    116 
    117 exerb_check : $(EXERB_EXE)
    118 
    119 $(EXERB_EXE) : $(EXERB_EXY) $(GEN_SRC) $(PLUGIN_SRC)
    120         @echo "### Need make_tecsgen_exerb on ActiveScriptRuby to update tecsgen.exerb ###"
    121 
    122106print_error :   # エラーメッセージを拾い出す
    123107        grep -e "Generator\.error" -e cdl_error $(LIB_PATH)/*.rb \
    124108                | grep -v bnf.tab.rb \
    125                 | sed -e "s/\s*Generator\.error(/  /" -e "s/\s*cdl_error(//" -e "s/).*$$//"
     109                | sed -e "s/\s*Generator\.error(//" -e "s/\s*cdl_error[0-9]*(//" -e "s/).*$$//"
    126110
    127111print_error2 :  # エラーメッセージを拾い出す
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/in_exerb.rb

    r321 r429  
    3535#   の責任を負わない.
    3636
    37 #   $Id$
     37#   $Id: in_exerb.rb 1011 2016-07-11 02:20:01Z coas-nagasima $
    3838#++
    3939
  • 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 */
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/posix/posix.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
    237namespace nPosix {
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/rpc/TDR.cdl

    r321 r429  
    6868        ER      sendSOP( [in]bool_t b_client );     /* StartOfPacket magic を送信 */
    6969        ER      receiveSOP( [in]bool_t b_client );  /* StartOfPacket magic を受信 */
    70                                                  /* b_client: クライアント側なら true, サーバー側なら false */
    71 
    72         /* マジックコードの送受信 */
    73         //      ER      sendSHSOP( [in]bool_t b_client );     /* StartOfPacket magic を送信 */
    74         //      ER      receiveSHSOP( [in]bool_t b_client );  /* StartOfPacket magic を受信 */
    7570                                                 /* b_client: クライアント側なら true, サーバー側なら false */
    7671
     
    150145};
    151146
    152 // Straight Order TECS Data Representation (Straight means no endian-conversion is done)
     147// Straight Byte Order TECS Data Representation (Data are always sent in native endian)
    153148celltype tTDR {
    154149        call    sChannel        cChannel;
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/rpc/sChannel.cdl

    r321 r429  
    5858};
    5959
     60/*
     61 * size に uint16_t ではなく int16_t を用いるのは、下位層が ER_INT を返す場合を想定したもの.
     62 *
     63 * sChannel は TECS RPC の TDR の下位層である通信チャンネルとのインタフェースである.
     64 * 通信チャンネルは、高水準 I/O のように、バッファリングされることを想定する.
     65 * TDR からは、int8_t, int16_t, int32_t, int64_t, (int128_t), float32_t, double64_t bool_t, char_t のような基本型(無符号を含む)が渡される。
     66 * 配列や構造体の場合であっても要素ごとに渡される。
     67 */
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecs/rpc/tTDR_inline.h

    r321 r429  
    7575                return(E_ID);
    7676        }
     77  (void)p_cellcb;   // to avoid unused warning
    7778
    7879        syslog( LOG_INFO, "TDR: resetting channel" );
     
    102103                return(E_ID);
    103104        }
     105  (void)p_cellcb;   // to avoid unused warning
    104106
    105107        /* ここに処理本体を記述します #_TEFB_# */
     
    151153                return(E_ID);
    152154        }
     155  (void)p_cellcb;   // to avoid unused warning
    153156
    154157        /* ここに処理本体を記述します #_TEFB_# */
     
    157160#endif
    158161
    159     if( b_client )
     162  if( b_client )
    160163                p_sopMagic = &SOP_MAGIC2;
    161164        else
     
    198201                return(E_ID);
    199202        }
     203  (void)p_cellcb;   // to avoid unused warning
    200204
    201205        /* ここに処理本体を記述します #_TEFB_# */
     
    234238                return(E_ID);
    235239        }
     240  (void)p_cellcb;   // to avoid unused warning
    236241
    237242        /* ここに処理本体を記述します #_TEFB_# */
     
    267272                return(E_ID);
    268273        }
     274  (void)p_cellcb;   // to avoid unused warning
    269275
    270276        /* ここに処理本体を記述します #_TEFB_# */
     
    287293                return(E_ID);
    288294        }
     295  (void)p_cellcb;   // to avoid unused warning
    289296
    290297        /* ここに処理本体を記述します #_TEFB_# */
     
    307314                return(E_ID);
    308315        }
     316  (void)p_cellcb;   // to avoid unused warning
    309317
    310318        /* ここに処理本体を記述します #_TEFB_# */
     
    327335                return(E_ID);
    328336        }
     337  (void)p_cellcb;   // to avoid unused warning
    329338
    330339        /* ここに処理本体を記述します #_TEFB_# */
     
    347356                return(E_ID);
    348357        }
     358  (void)p_cellcb;   // to avoid unused warning
    349359
    350360        /* ここに処理本体を記述します #_TEFB_# */
     
    368378                return(E_ID);
    369379        }
     380  (void)p_cellcb;   // to avoid unused warning
    370381
    371382        /* ここに処理本体を記述します #_TEFB_# */
     
    390401                return(E_ID);
    391402        }
     403  (void)p_cellcb;   // to avoid unused warning
    392404
    393405        /* ここに処理本体を記述します #_TEFB_# */
     
    412424                return(E_ID);
    413425        }
     426  (void)p_cellcb;   // to avoid unused warning
    414427
    415428        /* ここに処理本体を記述します #_TEFB_# */
     
    434447                return(E_ID);
    435448        }
     449  (void)p_cellcb;   // to avoid unused warning
    436450
    437451        /* ここに処理本体を記述します #_TEFB_# */
     
    456470                return(E_ID);
    457471        }
     472  (void)p_cellcb;   // to avoid unused warning
    458473
    459474        /* ここに処理本体を記述します #_TEFB_# */
     
    477492                return(E_ID);
    478493        } /* end if VALID_IDX(idx) */
     494  (void)p_cellcb;   // to avoid unused warning
    479495
    480496        /* ここに処理本体を記述します #_TEFB_# */
     
    497513                return(E_ID);
    498514        } /* end if VALID_IDX(idx) */
     515  (void)p_cellcb;   // to avoid unused warning
    499516
    500517        /* ここに処理本体を記述します #_TEFB_# */
     
    517534                return(E_ID);
    518535        } /* end if VALID_IDX(idx) */
     536  (void)p_cellcb;   // to avoid unused warning
    519537
    520538        /* ここに処理本体を記述します #_TEFB_# */
     
    537555                return(E_ID);
    538556        } /* end if VALID_IDX(idx) */
     557  (void)p_cellcb;   // to avoid unused warning
    539558
    540559        /* ここに処理本体を記述します #_TEFB_# */
     
    557576                return(E_ID);
    558577        } /* end if VALID_IDX(idx) */
     578  (void)p_cellcb;   // to avoid unused warning
    559579
    560580        /* ここに処理本体を記述します #_TEFB_# */
     
    578598                return(E_ID);
    579599        } /* end if VALID_IDX(idx) */
     600  (void)p_cellcb;   // to avoid unused warning
    580601
    581602        /* ここに処理本体を記述します #_TEFB_# */
     
    600621                return(E_ID);
    601622        } /* end if VALID_IDX(idx) */
     623  (void)p_cellcb;   // to avoid unused warning
    602624
    603625        /* ここに処理本体を記述します #_TEFB_# */
     
    622644                return(E_ID);
    623645        } /* end if VALID_IDX(idx) */
     646  (void)p_cellcb;   // to avoid unused warning
    624647
    625648        /* ここに処理本体を記述します #_TEFB_# */
     
    644667                return(E_ID);
    645668        } /* end if VALID_IDX(idx) */
     669  (void)p_cellcb;   // to avoid unused warning
    646670
    647671        /* ここに処理本体を記述します #_TEFB_# */
     
    666690                return(E_ID);
    667691        } /* end if VALID_IDX(idx) */
     692  (void)p_cellcb;   // to avoid unused warning
    668693
    669694        /* ここに処理本体を記述します #_TEFB_# */
     
    688713                return(E_ID);
    689714        } /* end if VALID_IDX(idx) */
     715  (void)p_cellcb;   // to avoid unused warning
    690716
    691717        /* ここに処理本体を記述します #_TEFB_# */
     
    705731        ER              ercd = E_OK;
    706732        CELLCB  *p_cellcb;
    707         uint8_t val;
    708         if (VALID_IDX(idx)) {
    709                 p_cellcb = GET_CELLCB(idx);
    710         }
    711         else {
    712                 return(E_ID);
    713         } /* end if VALID_IDX(idx) */
     733        uint8_t val = 0;
     734        if (VALID_IDX(idx)) {
     735                p_cellcb = GET_CELLCB(idx);
     736        }
     737        else {
     738                return(E_ID);
     739        } /* end if VALID_IDX(idx) */
     740  (void)p_cellcb;   // to avoid unused warning
    714741
    715742        /* ここに処理本体を記述します #_TEFB_# */
     
    737764                return(E_ID);
    738765        }
     766  (void)p_cellcb;   // to avoid unused warning
    739767
    740768        /* ここに処理本体を記述します #_TEFB_# */
     
    757785                return(E_ID);
    758786        }
     787  (void)p_cellcb;   // to avoid unused warning
    759788
    760789        /* ここに処理本体を記述します #_TEFB_# */
     
    778807                return(E_ID);
    779808        }
     809  (void)p_cellcb;   // to avoid unused warning
    780810
    781811        /* ここに処理本体を記述します #_TEFB_# */
     
    800830                return(E_ID);
    801831        }
     832  (void)p_cellcb;   // to avoid unused warning
    802833
    803834        /* ここに処理本体を記述します #_TEFB_# */
     
    821852                return(E_ID);
    822853        }
     854  (void)p_cellcb;   // to avoid unused warning
    823855
    824856        /* ここに処理本体を記述します #_TEFB_# */
     
    863895                return(E_ID);
    864896        } /* end if VALID_IDX(idx) */
     897  (void)p_cellcb;   // to avoid unused warning
    865898
    866899        /* ここに処理本体を記述します #_TEFB_# */
     
    883916                return(E_ID);
    884917        }
     918  (void)p_cellcb;   // to avoid unused warning
    885919
    886920        /* ここに処理本体を記述します #_TEFB_# */
     
    903937                return(E_ID);
    904938        }
     939  (void)p_cellcb;   // to avoid unused warning
    905940
    906941        /* ここに処理本体を記述します #_TEFB_# */
     
    923958                return(E_ID);
    924959        }
     960  (void)p_cellcb;   // to avoid unused warning
    925961
    926962        /* ここに処理本体を記述します #_TEFB_# */
     
    944980                return(E_ID);
    945981        } /* end if VALID_IDX(idx) */
     982  (void)p_cellcb;   // to avoid unused warning
    946983
    947984        /* ここに処理本体を記述します #_TEFB_# */
     
    9661003                return(E_ID);
    9671004        }
     1005  (void)p_cellcb;   // to avoid unused warning
    9681006
    9691007        /* ここに処理本体を記述します #_TEFB_# */
     
    9881026                return(E_ID);
    9891027        }
     1028  (void)p_cellcb;   // to avoid unused warning
    9901029
    9911030        /* ここに処理本体を記述します #_TEFB_# */
     
    10101049                return(E_ID);
    10111050        }
     1051  (void)p_cellcb;   // to avoid unused warning
    10121052
    10131053        /* ここに処理本体を記述します #_TEFB_# */
     
    10311071                return(E_ID);
    10321072        } /* end if VALID_IDX(idx) */
     1073  (void)p_cellcb;   // to avoid unused warning
    10331074
    10341075        /* ここに処理本体を記述します #_TEFB_# */
     
    10511092                return(E_ID);
    10521093        } /* end if VALID_IDX(idx) */
     1094  (void)p_cellcb;   // to avoid unused warning
    10531095
    10541096        /* ここに処理本体を記述します #_TEFB_# */
     
    10711113                return(E_ID);
    10721114        } /* end if VALID_IDX(idx) */
     1115  (void)p_cellcb;   // to avoid unused warning
    10731116
    10741117        /* ここに処理本体を記述します #_TEFB_# */
     
    10911134                return(E_ID);
    10921135        } /* end if VALID_IDX(idx) */
     1136  (void)p_cellcb;   // to avoid unused warning
    10931137
    10941138        /* ここに処理本体を記述します #_TEFB_# */
     
    11121156                return(E_ID);
    11131157        } /* end if VALID_IDX(idx) */
     1158  (void)p_cellcb;   // to avoid unused warning
    11141159
    11151160        /* ここに処理本体を記述します #_TEFB_# */
     
    11341179                return(E_ID);
    11351180        } /* end if VALID_IDX(idx) */
     1181  (void)p_cellcb;   // to avoid unused warning
    11361182
    11371183        /* ここに処理本体を記述します #_TEFB_# */
     
    11561202                return(E_ID);
    11571203        } /* end if VALID_IDX(idx) */
     1204  (void)p_cellcb;   // to avoid unused warning
    11581205
    11591206        /* ここに処理本体を記述します #_TEFB_# */
     
    11781225                return(E_ID);
    11791226        } /* end if VALID_IDX(idx) */
     1227  (void)p_cellcb;   // to avoid unused warning
    11801228
    11811229        /* ここに処理本体を記述します #_TEFB_# */
     
    11991247                return(E_ID);
    12001248        }
     1249  (void)p_cellcb;   // to avoid unused warning
    12011250
    12021251        /* ここに処理本体を記述します #_TEFB_# */
     
    12201269                return(E_ID);
    12211270        }
     1271  (void)p_cellcb;   // to avoid unused warning
    12221272
    12231273        /* ここに処理本体を記述します #_TEFB_# */
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecsgen

    r321 r429  
    77#
    88#   ä¸Šè¨˜è‘—作権è€
    9 ã¯ï¼Œä»¥ä¸‹ã®(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     9は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    1010#   ã‚¢ï¼ˆæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’改変したものを含む.以下同じ)を使用・複製・改
    1111#   å¤‰ãƒ»å†é
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecsgen.rb

    r321 r429  
    55#      Generator for TOPPERS Embedded Component System
    66
    7 #   Copyright (C) 2008-2016 by TOPPERS Project
     7#   Copyright (C) 2008-2019 by TOPPERS Project
    88#--
    99#   上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     
    5454#  Authors list is in i-ro-ha order.
    5555#Version::   see version.rb
    56 $Copyright = "Copyright(c) 2008-2016, TOPPERS project. All rights reserved."
     56$Copyright = "Copyright(c) 2008-2019, TOPPERS project. All rights reserved."
    5757$License   = "TOPPERS License"
    5858
     
    223223    analyze_option addtional_option_parser
    224224    load_modules
    225     setup
     225    if ! $TECSFLOW then
     226      setup
     227    end
    226228       
    227229    dbgPrint  "tecspath: #{$tecsgen_base_path}, __FILE__=#{__FILE__}\n"
     
    284286    ARGV.each { |a| $arguments += " " + a }
    285287
    286     $unopt     = false     # bool:   disable optimizing
     288    $unopt     = false     # bool:   disable optimizing both call and entry port
     289    $unopt_entry= false    # bool:   disable optimizing entry port
    287290    $gen_base  = "gen"     # string: folder path to place generated files
    288291    $gen       = $gen_base # string: folder path to place generated files
     
    385388        $unopt = true
    386389      }
     390      parser.on('--unoptimize-entry', 'unoptimize entry port') {
     391        $unopt_entry = true
     392      }
    387393      parser.on('-c', '--cpp=cpp_cmd', 'C pre-processor command used import_C (default: gcc -E -DTECSGEN), you can also specify by environment variable TECS_CPP' ){
    388394        |arg|
     
    465471    }
    466472
    467     if ARGV.empty? && ! $print_version && ! $unit_test
     473    if ARGV.empty? && ! $print_version && ! $unit_test && ! $TECSFLOW
    468474      ARGV.options{|parser|
    469475        puts parser.help
     
    482488    # このファイルを誤って読み込むと、異なるバージョン名を表示してしまう
    483489    require_tecsgen_lib 'tecslib/version.rb'
    484     if ! $no_banner || $print_version
     490    if $title then
     491      STDERR << "#{$title} version #{$tool_version} (tecsgen version #{$version})  #{$Copyright}\n"
     492    elsif ! $no_banner || $print_version
    485493      STDERR << "tecsgen  version #{$version}  #{$Copyright}\n"
    486494    end
     
    488496      STDERR << "ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE} patchlevel #{RUBY_PATCHLEVEL}) [#{RUBY_PLATFORM}]\n"
    489497    end
    490     if $print_version && ARGV.empty?
     498    if $print_version && ARGV.empty? && ! $TECSFLOW
    491499      exit
    492500    end
     
    514522    require_tecsgen_lib 'tecslib/core/generate.rb'
    515523    require_tecsgen_lib 'tecslib/core/gen_xml.rb'
    516 #    require_tecsgen_lib 'tecslib/core/tool_info.rb'
     524    require_tecsgen_lib 'tecslib/core/tool_info.rb'
     525    require_tecsgen_lib 'tecslib/core/tecsinfo.rb'
     526    require_tecsgen_lib 'tecslib/core/unjoin_plugin.rb'
    517527    require_tecsgen_lib 'tecslib/plugin/CelltypePlugin.rb'
     528    require_tecsgen_lib 'tecslib/plugin/CompositePlugin.rb'
    518529    require_tecsgen_lib 'tecslib/plugin/CellPlugin.rb'
    519530    require_tecsgen_lib 'tecslib/plugin/SignaturePlugin.rb'
    520531    require_tecsgen_lib 'tecslib/plugin/ThroughPlugin.rb'
    521532    require_tecsgen_lib 'tecslib/plugin/DomainPlugin.rb'
     533    require_tecsgen_lib 'tecslib/plugin/MultiPlugin.rb'
    522534
    523535    # C 言語パーサ
     
    596608#  クラス変数のリセットを確実に行う必要がある
    597609
    598 if $TECSCDE != true then
     610if $TECSCDE != true && $TECSFLOW != true then
    599611  begin
    600612    TECSGEN.init
     
    602614    tecsgen.run1
    603615    tecsgen.run2
     616    tecsgen.dump_tecsgen_rbdmp
    604617  rescue => evar
    605618    print_exception( evar )
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecsgen_rcov.rb

    r321 r429  
    4444# Usage: tecsgen_rcov.rb [options] CDL-file.cdl
    4545#
     46
     47$:.unshift(File.dirname(__FILE__))
     48
    4649require 'simplecov'
    47 SimpleCov.command_name "tecsgen#{$$}"
     50SimpleCov.command_name "tecsgen#{Time.now.to_f}"
    4851SimpleCov.root File.dirname( File.expand_path __FILE__ )
    4952SimpleCov.at_exit do
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/core/C_parser.tab.rb

    r321 r429  
    11#
    22# DO NOT MODIFY!!!!
    3 # This file is automatically generated by Racc 1.4.12
     3# This file is automatically generated by Racc 1.4.9
    44# from Racc grammer file "".
    55#
     
    88class C_parser < Racc::Parser
    99
    10 module_eval(<<'...end C_parser.y.rb/module_eval...', 'C_parser.y.rb', 715)
    11 
    12   RESERVED = {
    13     # keyword
    14     'typedef' => :TYPEDEF,
    15     'struct' => :STRUCT,
    16     'union' => :UNION,
    17     'sizeof' => :SIZEOF,
    18     'throw' => :THROW,
    19 
    20     # specifier
    21     # types
    22     'void'    => :VOID,
    23     'char'    => :CHAR,
    24     'short'   => :SHORT,
    25 
    26     'volatile'=> :VOLATILE,
    27     'const'   => :CONST,
    28     'extern'   => :EXTERN,
    29 
    30     'long'    => :LONG,
    31     'float'   => :FLOAT,
    32     'double'  => :DOUBLE,
    33     'signed'  => :SIGNED,
    34     'unsigned'=> :UNSIGNED,
    35 
    36     'int'     => :INT,
    37     'enum'    => :ENUM,
    38 
    39     'if'      => :IF,
    40     'else'    => :ELSE,
    41     'while'   => :WHILE,
    42     'do'      => :DO,
    43     'for'     => :FOR,
    44     'case'    => :CASE,
    45     'default' => :DEFAULT,
    46     'goto'    => :GOTO,
    47     'continue' => :CONTINUE,
    48     'break'   => :BREAK,
    49     'return'  => :RETURN,
    50     '__inline__'  => :__INLINE__,
    51     'inline'  => :INLINE,
    52     '__inline'  => :__INLINE,
    53     'Inline'  => :CINLINE,        # inline starting with Capital letter
    54     'static'  => :STATIC,
    55     'register' => :REGISTER,
    56     'auto'    => :AUTO,
    57     '__extension__'    => :EXTENSION,
    58 
    59   }
    60 
    61   @@generator_nest = -1
    62   @@generator_stack = []
    63   @@current_locale = []
    64 
    65   def finalize
    66 
    67     # mikan Namespace.pop
    68     Celltype.pop
    69     Cell.pop
    70     CompositeCelltype.pop
    71     Region.pop
    72 
    73   end
    74 
    75   def set_plugin( plugin )
    76     @plugin = plugin
    77   end
    78 
    79   def self.get_plugin
    80     @@generator_stack[@@generator_nest].get_plugin
    81   end
    82 
    83   def get_plugin
    84     @plugin
    85   end
    86 
    87   def parse(files)
    88 
    89     # mikan Namespace.push
    90     Celltype.push
    91     Cell.push
    92     CompositeCelltype.push
    93     Region.push
    94 
    95     @@generator_nest += 1
    96     @@generator_stack[@@generator_nest] = self
    97     @b_no_type_name = false
    98 
    99    begin
    100 
    101     @q = []
    102     comment = false
    103 
    104     # euc のコメントを utf8 として扱うと、コメントの終わりを誤る問題の対策
    105     TECS_LANG::set_kcode_binary
    106 
    107     # 800U, 0xffLL など (整数リテラルに共通の修飾子)
    108     integer_qualifier = "([Uu][Ll][Ll]|[Uu][Ll]|[Uu]|[Ll][Ll]|[Ll])?"
    109 
    110     files.each {|file|
    111       lineno = 1
    112      begin
    113 #2.0       IO.foreach(file) {|line|
    114        TECSIO.foreach(file) {|line|
    115         col = 1
    116         line.rstrip!
    117 
    118         until line.empty?
    119 
    120           if comment
    121             case line
    122             # コメント終了
    123             when /\A\*\//
    124               comment = false
    125             when /\A./
    126               ;
    127             end
    128           else
    129             case line
    130             # 空白、プリプロセスディレクティブ
    131             when /\A\s+/
    132               ;
    133             # 識別子
    134             when /\A[a-zA-Z_]\w*/
    135               word = $&
    136               @q << [RESERVED[word] || :IDENTIFIER, Token.new(word.intern, file, lineno, col)]
    137             # 16 進数定数
    138             when /\A0x[0-9A-Fa-f]+#{integer_qualifier}/
    139               @q << [:HEX_CONSTANT, Token.new($&, file, lineno, col)]
    140             # 8 進数定数
    141             when /\A0[0-7]+#{integer_qualifier}/
    142               @q << [:OCTAL_CONSTANT, Token.new($&, file, lineno, col)]
    143             # 浮動小数定数
    144             when /\A[0-9]+\.([0-9]*)?([Ee][+-]?[0-9]+)?/
    145               @q << [:FLOATING_CONSTANT, Token.new($&, file, lineno, col)]
    146             # 整数定数
    147             when /\A\d+#{integer_qualifier}/
    148             # when /\A\d+/
    149               @q << [:INTEGER_CONSTANT, Token.new($&.to_i, file, lineno, col)]
    150             # 文字
    151             when /\A'(?:[^'\\]|\\.)'/
    152               @q << [:CHARACTER_LITERAL, Token.new($&, file, lineno, col)]
    153             # 文字列
    154 #              "#include  #include #include \"../systask/logtask.cfg\"       最後の " 忘れ)で無限ループ
    155 #            when /\A"(?:[^"\\]+|\\.)*"/
    156             when /\A"(?:[^"\\]|\\.)*"/   # これはうまく行くようだ
    157               @q << [:STRING_LITERAL, Token.new($&, file, lineno, col)]
    158             # 行コメント
    159             when /\A\/\/.*$/
    160               # 読み飛ばすだけ
    161             # コメント開始
    162             when /\A\/\*/
    163               comment = true
    164             when /\A>>=/, /\A<<=/, /\A>>/,  /\A<</
    165               @q << [$&, Token.new($&, file, lineno, col)]
    166             when /\A\+=/, /\A\-=/, /\A\*=/, /\A\/=/, /\A%=/, /\A&=/, /\A\|=/, /\A\^=/
    167               @q << [$&, Token.new($&, file, lineno, col)]
    168             when /\A::/, /\A==/, /\A!=/, /\A>=/, /\A<=/, /\A\->/, /\A\+\+/, /\A\-\-/
    169               @q << [$&, Token.new($&, file, lineno, col)]
    170             when /\A./
    171               @q << [$&, Token.new($&, file, lineno, col)]
    172             else
    173               raise
    174             end
    175           end
    176 
    177           line = $'
    178           col += $&.length
    179         end
    180 
    181         lineno += 1
    182       }
    183 
    184      rescue => evar
    185        Generator.error( "B1002 while open or reading \'$1\'" , file )
    186        print_exception( evar )
    187      end
    188     }
    189 
    190     # 終了の印
    191     @q << nil
    192 
    193     @yydebug = true
    194     do_parse
    195 
    196    ensure
    197     @@generator_nest -= 1
    198     TECS_LANG::reset_kcode
    199    end
    200 
    201   end
    202 
    203 
    204   def next_token
    205     token = @q.shift
    206 
    207     if token then
    208       @@current_locale[@@generator_nest] = token[1].locale
    209 
    210       case token[1].val
    211       when ";", ":", ",", "(", ")", "{", "}"
    212         set_no_type_name false
    213       when ".", "->"
    214         set_no_type_name true
    215       end
    216 
    217       # TYPE_NAME トークンへ置き換え
    218       if @b_no_type_name == false
    219         if token[0] == :IDENTIFIER && Namespace.is_typename?( token[1].val ) then
    220           token[0] = :TYPE_NAME
    221         end
    222       end
    223 
    224       if $debug then     # 070107 token 無効時ここを通さないようした (through 対応 -d の時に例外発生)
    225         locale = @@current_locale[@@generator_nest]
    226         if token then
    227           print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}'\n" )
    228         else
    229           print( "#{locale[0]}: line #{locale[1]} : EOF\n" )
    230         end
    231       end
    232     end
    233 
    234     token
    235   end
    236 
    237   def on_error(t, v, vstack)
    238     if v == "$" then
    239      Generator.error( "B1003 Unexpected EOF"  )
    240     else
    241      Generator.error( "B1004 syntax error near \'$1\'" , v.val )
    242     end
    243 
    244   end
    245 
    246   def self.current_locale
    247     @@current_locale[ @@generator_nest ]
    248   end
    249 
    250   @@n_error = 0
    251   @@n_warning = 0
    252 
    253   # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切)
    254   def self.error( msg )
    255     @@n_error += 1
    256     locale = @@current_locale[ @@generator_nest ]
    257 
    258     if locale then
    259       Console.puts "error: #{locale[0]}: line #{locale[1]} #{msg}"
    260     else
    261       Console.puts "error: #{msg}"
    262     end
    263   end
    264 
    265   # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でウォーニング発生は不適切)
    266   def self.warning( msg )
    267     @@n_warning += 1
    268     locale = @@current_locale[ @@generator_nest ]
    269     Console.puts "warning: #{locale[0]}: line #{locale[1]} #{msg}"
    270   end
    271 
    272   def self.get_n_error
    273     @@n_error
    274   end
    275 
    276   def self.get_n_warning
    277     @@n_warning
    278   end
    279 
    280   def self.get_nest
    281     @@generator_nest
    282   end
    283 
    284   def set_no_type_name b_no_type_name
    285     # print "b_no_type_name=#{b_no_type_name}\n"
    286     @b_no_type_name = b_no_type_name
    287   end
     10module_eval(<<'...end C_parser.y.rb/module_eval...', 'C_parser.y.rb', 784)
     11
     12        RESERVED = {
     13                # keyword
     14                'typedef' => :TYPEDEF,
     15                'struct' => :STRUCT,
     16                'union' => :UNION,
     17                'sizeof' => :SIZEOF,
     18                'throw' => :THROW,
     19
     20                # specifier
     21                # types
     22                'void'    => :VOID,
     23                'char'    => :CHAR,
     24                'short'   => :SHORT,
     25
     26                'volatile'=> :VOLATILE,
     27                'restrict'=> :RESTRICT,
     28                'const'   => :CONST,
     29                'extern'   => :EXTERN,
     30
     31                'long'    => :LONG,
     32                'float'   => :FLOAT,
     33                'double'  => :DOUBLE,
     34                'signed'  => :SIGNED,
     35                'unsigned'=> :UNSIGNED,
     36
     37                'int'     => :INT,
     38                'enum'    => :ENUM,
     39
     40                'if'      => :IF,
     41                'else'    => :ELSE,
     42                'while'   => :WHILE,
     43                'do'      => :DO,
     44                'for'     => :FOR,
     45                'switch'  => :SWITCH,
     46                'case'    => :CASE,
     47                'default' => :DEFAULT,
     48                'goto'    => :GOTO,
     49                'continue' => :CONTINUE,
     50                'break'   => :BREAK,
     51                'return'  => :RETURN,
     52                '__inline__'  => :__INLINE__,
     53                'inline'  => :INLINE,
     54                '__inline'  => :__INLINE,
     55                'Inline'  => :CINLINE,        # inline starting with Capital letter
     56                'static'  => :STATIC,
     57                'register' => :REGISTER,
     58                'auto'    => :AUTO,
     59                '__extension__'    => :EXTENSION,
     60                '__asm__' => :_ASM,
     61                'asm' =>     :_ASM
     62
     63        }
     64
     65        @@generator_nest = -1
     66        @@generator_stack = []
     67        @@current_locale = []
     68
     69        def finalize
     70
     71                # mikan Namespace.pop
     72                Celltype.pop
     73                Cell.pop
     74                CompositeCelltype.pop
     75                Region.pop
     76
     77        end
     78
     79        def set_plugin( plugin )
     80                @plugin = plugin
     81        end
     82
     83        def self.get_plugin
     84                @@generator_stack[@@generator_nest].get_plugin
     85        end
     86
     87        def get_plugin
     88                @plugin
     89        end
     90
     91        def parse(files)
     92
     93                # mikan Namespace.push
     94                Celltype.push
     95                Cell.push
     96                CompositeCelltype.push
     97                Region.push
     98
     99                @@generator_nest += 1
     100                @@generator_stack[@@generator_nest] = self
     101                @b_no_type_name = false
     102
     103        begin
     104
     105                @q = []
     106                comment = false
     107#               b_asm   = false
     108
     109                # euc のコメントを utf8 として扱うと、コメントの終わりを誤る問題の対策
     110                TECS_LANG::set_kcode_binary
     111
     112                # 800U, 0xffLL など (整数リテラルに共通の修飾子)
     113                integer_qualifier = "([Uu][Ll][Ll]|[Uu][Ll]|[Uu]|[Ll][Ll]|[Ll])?"
     114
     115                files.each {|file|
     116                        lineno = 1
     117                begin
     118#2.0            IO.foreach(file) {|line|
     119                        TECSIO.foreach(file) {|line|
     120                        col = 1
     121                        line.rstrip!
     122
     123                        until line.empty?
     124
     125                                if comment
     126                                        case line
     127                                        # コメント終了
     128                                        when /\A\*\//
     129                                                comment = false
     130                                        when /\A./
     131                                                ;
     132                                        end
     133                                else
     134                                        case line
     135                                        # 空白、プリプロセスディレクティブ
     136                                        when /\A\s+/
     137                                                ;
     138                                        # 識別子
     139                                        when /\A[a-zA-Z_]\w*/
     140                                                word = $&
     141                                                @q << [RESERVED[word] || :IDENTIFIER, Token.new(word.intern, file, lineno, col)]
     142                                        # 16 進数定数
     143                                        when /\A0x[0-9A-Fa-f]+#{integer_qualifier}/
     144                                                @q << [:HEX_CONSTANT, Token.new($&, file, lineno, col)]
     145                                        # 8 進数定数
     146                                        when /\A0[0-7]+#{integer_qualifier}/
     147                                                @q << [:OCTAL_CONSTANT, Token.new($&, file, lineno, col)]
     148                                        # 浮動小数定数
     149                                        when /\A[0-9]+\.([0-9]*)?([Ee][+-]?[0-9]+)?/
     150                                                @q << [:FLOATING_CONSTANT, Token.new($&, file, lineno, col)]
     151                                        # 整数定数
     152                                        when /\A\d+#{integer_qualifier}/
     153                                        # when /\A\d+/
     154                                                @q << [:INTEGER_CONSTANT, Token.new($&.to_i, file, lineno, col)]
     155                                        # 文字
     156                                        when /\A'(?:[^'\\]|\\.)'/
     157                                                @q << [:CHARACTER_LITERAL, Token.new($&, file, lineno, col)]
     158                                        # 文字列
     159#                                       "#include  #include #include \"../systask/logtask.cfg\"       最後の " 忘れ)で無限ループ
     160#                                       when /\A"(?:[^"\\]+|\\.)*"/
     161                                        when /\A"(?:[^"\\]|\\.)*"/   # これはうまく行くようだ
     162                                                @q << [:STRING_LITERAL, Token.new($&, file, lineno, col)]
     163                                        # 行コメント
     164                                        when /\A\/\/.*$/
     165                                                # 読み飛ばすだけ
     166                                        # コメント開始
     167                                        when /\A\/\*/
     168                                                comment = true
     169                                        when /\A>>=/, /\A<<=/, /\A>>/,  /\A<</
     170                                                @q << [$&, Token.new($&, file, lineno, col)]
     171                                        when /\A\+=/, /\A\-=/, /\A\*=/, /\A\/=/, /\A%=/, /\A&=/, /\A\|=/, /\A\^=/
     172                                                @q << [$&, Token.new($&, file, lineno, col)]
     173                                        when /\A::/, /\A==/, /\A!=/, /\A>=/, /\A<=/, /\A\->/, /\A\+\+/, /\A\-\-/
     174                                                @q << [$&, Token.new($&, file, lineno, col)]
     175                                        when /\A\|\|/, /\A\&\&/
     176                                                @q << [$&, Token.new($&, file, lineno, col)]
     177                                        when /\A./
     178                                                @q << [$&, Token.new($&, file, lineno, col)]
     179                                        else
     180                                                raise
     181                                        end
     182                                end
     183
     184                                line = $'
     185                                col += $&.length
     186                        end
     187
     188                        lineno += 1
     189                }
     190
     191                rescue => evar
     192                        Generator.error( "B1002 while open or reading \'$1\'" , file )
     193                        print_exception( evar )
     194                end
     195        }
     196
     197        # 終了の印
     198        @q << nil
     199
     200        @yydebug = true
     201        do_parse
     202
     203                ensure
     204                        @@generator_nest -= 1
     205                        TECS_LANG::reset_kcode
     206                end
     207
     208        end
     209
     210
     211        def next_token
     212                token = @q.shift
     213
     214                if token then
     215                        @@current_locale[@@generator_nest] = token[1].locale
     216
     217                        case token[1].val
     218                        when ";", ":", ",", "(", ")", "{", "}"
     219                        set_no_type_name false
     220                        when ".", "->"
     221                        set_no_type_name true
     222                        end
     223
     224                        # TYPE_NAME トークンへ置き換え
     225                        if @b_no_type_name == false
     226                                if token[0] == :IDENTIFIER && Namespace.is_typename?( token[1].val ) then
     227                                        token[0] = :TYPE_NAME
     228                                        locale = @@current_locale[@@generator_nest]
     229#print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}: type_name'\n" )
     230                                end
     231                        end
     232
     233                        if $debug then     # 070107 token 無効時ここを通さないようした (through 対応 -d の時に例外発生)
     234                                locale = @@current_locale[@@generator_nest]
     235                                if token then
     236                                        print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}'\n" )
     237                                else
     238                                        print( "#{locale[0]}: line #{locale[1]} : EOF\n" )
     239                                end
     240                        end
     241                end
     242
     243                token
     244        end
     245
     246        def on_error(t, v, vstack)
     247                if v == "$" then
     248                        Generator.error( "B1003 Unexpected EOF"  )
     249                else
     250                        Generator.error( "B1004 syntax error near \'$1\'" , v.val )
     251                end
     252
     253        end
     254
     255        def self.current_locale
     256                @@current_locale[ @@generator_nest ]
     257        end
     258
     259        @@n_error = 0
     260        @@n_warning = 0
     261        @@n_info = 0
     262
     263        # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切)
     264        def self.error( msg )
     265                @@n_error += 1
     266                locale = @@current_locale[ @@generator_nest ]
     267
     268                if locale then
     269                        Console.puts "#{locale[0]}:#{locale[1]}: error: #{msg}"
     270                else
     271                        Console.puts "error: #{msg}"
     272                end
     273        end
     274
     275        # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でウォーニング発生は不適切)
     276        def self.warning( msg )
     277                @@n_warning += 1
     278                locale = @@current_locale[ @@generator_nest ]
     279                Console.puts "#{locale[0]}:#{locale[1]}: warning: #{msg}"
     280        end
     281
     282        # このメソッドは構文解析、意味解析からのみ呼出し可
     283        def self.info( msg )
     284                @@n_info += 1
     285                locale = @@current_locale[ @@generator_nest ]
     286                Console.puts "#{locale[0]}:#{locale[1]}: info: #{msg}"
     287        end
     288
     289        def self.get_n_error
     290                @@n_error
     291        end
     292
     293        def self.get_n_warning
     294                @@n_warning
     295        end
     296
     297        def self.get_nest
     298                @@generator_nest
     299        end
     300
     301        def set_no_type_name b_no_type_name
     302                locale = @@current_locale[ @@generator_nest ]
     303#print "b_no_type_name=#{b_no_type_name} #{locale[0]}: line #{locale[1]}\n"
     304                @b_no_type_name = b_no_type_name
     305        end
    288306
    289307...end C_parser.y.rb/module_eval...
     
    291309
    292310clist = [
    293 '104,105,106,107,108,110,68,111,66,179,300,141,53,116,117,206,115,118',
    294 '119,120,121,122,123,104,105,106,107,108,110,168,111,203,204,207,141',
    295 '74,116,117,168,115,118,119,120,121,122,123,303,208,67,299,65,26,27,104',
    296 '105,106,107,108,110,73,111,26,27,75,141,348,116,117,167,115,118,119',
    297 '120,121,122,123,77,265,195,196,160,304,305,306,307,308,309,310,311,312',
    298 '313,262,351,142,8,9,10,11,15,16,17,18,19,20,21,22,53,192,23,25,26,27',
    299 '193,194,343,261,142,104,105,106,107,108,110,344,111,172,340,151,141',
    300 '272,116,117,251,115,118,119,120,121,122,123,104,105,106,107,108,110',
    301 '142,111,355,171,339,141,81,116,117,80,115,118,119,120,121,122,123,104',
    302 '105,106,107,108,110,52,111,195,196,3,141,51,116,117,359,115,118,119',
    303 '120,121,122,123,104,105,106,107,108,110,373,111,96,335,361,141,334,116',
    304 '117,344,115,118,119,120,121,122,123,79,142,247,335,272,251,334,251,51',
    305 '104,105,106,107,108,110,81,111,53,80,362,234,363,116,117,142,115,118',
    306 '119,120,121,122,123,247,52,364,251,197,198,51,51,197,198,79,197,198',
    307 '53,53,142,228,365,8,9,10,11,15,16,17,18,19,20,21,22,77,192,23,25,26',
    308 '27,193,194,142,229,95,230,231,232,233,87,235,236,238,239,240,241,192',
    309 '199,200,201,202,193,194,197,198,370,37,38,39,40,41,42,43,44,142,104',
    310 '105,106,107,108,110,86,111,203,204,85,141,375,116,117,376,115,118,119',
    311 '120,121,122,123,104,105,106,107,108,110,377,111,195,196,378,141,379',
    312 '116,117,380,115,118,119,120,121,122,123,104,105,106,107,108,110,382',
    313 '111,383,35,384,141,63,116,117,60,115,118,119,120,121,122,123,104,105',
    314 '106,107,108,110,389,111,209,210,390,141,391,116,117,392,115,118,119',
    315 '120,121,122,123,59,142,394,34,396,8,9,10,11,15,16,17,18,19,20,21,22',
    316 '52,278,23,25,26,27,51,142,36,52,52,52,35,53,52,51,51,51,197,198,51,45',
    317 '53,53,53,277,275,53,269,268,142,267,37,38,39,40,41,42,43,44,181,95,182',
    318 '254,183,184,185,199,200,201,202,253,34,142,8,9,10,11,15,16,17,18,19',
    319 '20,21,22,245,244,23,25,26,27,243,30,36,104,105,106,107,108,110,214,111',
    320 '213,208,207,141,206,116,117,205,115,118,119,120,121,122,123,37,38,39',
    321 '40,41,42,43,44,301,104,105,106,107,108,110,314,111,315,317,318,234,319',
    322 '116,117,321,115,118,119,120,121,122,123,52,52,52,322,52,323,51,51,51',
    323 '324,51,327,174,53,53,53,228,53,8,9,10,11,15,16,17,18,19,20,21,22,77',
    324 '173,23,25,26,27,75,95,142,229,169,230,231,232,233,161,235,236,238,239',
    325 '240,241,199,200,201,202,346,347,205,,,,37,38,39,40,41,42,43,44,142,104',
    326 '105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123',
    327 ',,104,105,106,107,108,110,,111,,,,234,,116,117,,115,118,119,120,121',
    328 '122,123,,,,,,,,,,,,,,,,,228,,8,9,10,11,15,16,17,18,19,20,21,22,77,,23',
    329 '25,26,27,,,,229,,230,231,232,233,142,235,236,238,239,240,241,,,,,,,',
    330 ',,,37,38,39,40,41,42,43,44,142,104,105,106,107,108,110,,111,,,,234,',
    331 '116,117,,115,118,119,120,121,122,123,,,,,,,,,,,,,,,,,228,,8,9,10,11',
    332 '15,16,17,18,19,20,21,22,77,,23,25,26,27,,,,229,,230,231,232,233,,235',
    333 '236,238,239,240,241,,,,,,,,,,,37,38,39,40,41,42,43,44,142,104,105,106',
    334 '107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123,104,105',
    335 '106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123,104',
    336 '105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123',
    337 '104,105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122',
    338 '123,,142,,,,,,,,104,105,106,107,108,110,,111,,,,141,,116,117,142,115',
    339 '118,119,120,121,122,123,104,105,106,107,108,110,,111,,366,,141,,116',
    340 '117,142,115,118,119,120,121,122,123,,,,,,,,104,105,106,107,108,110,',
    341 '111,142,,,234,,116,117,,115,118,119,120,121,122,123,,,,,,,,,,,,,,,,',
    342 '228,142,8,9,10,11,15,16,17,18,19,20,21,22,77,,23,25,26,27,,,,229,142',
    343 '230,231,232,233,,235,236,238,239,240,241,,,,,,,,,,,37,38,39,40,41,42',
    344 '43,44,142,104,105,106,107,108,110,,111,,,,234,,116,117,,115,118,119',
    345 '120,121,122,123,,,,,,,,,,,,,,,,,228,,8,9,10,11,15,16,17,18,19,20,21',
    346 '22,77,,23,25,26,27,,,,229,,230,231,232,233,,235,236,238,239,240,241',
    347 ',,,,,,,,,,37,38,39,40,41,42,43,44,142,104,105,106,107,108,110,,111,',
    348 ',,234,,116,117,,115,118,119,120,121,122,123,,,,,,,,,,,,,,,,,228,,8,9',
    349 '10,11,15,16,17,18,19,20,21,22,77,,23,25,26,27,,,,229,,230,231,232,233',
    350 ',235,236,238,239,240,241,,,,,,,,,,,37,38,39,40,41,42,43,44,142,104,105',
    351 '106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123,104',
    352 '105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123',
    353 '104,105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122',
    354 '123,104,105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121',
    355 '122,123,,142,,,,,,139,,,,,,140,104,105,106,107,108,110,,111,,145,142',
    356 '141,,116,117,,115,118,119,120,121,122,123,104,105,106,107,108,110,,111',
    357 ',,142,141,,116,117,,115,118,119,120,121,122,123,104,105,106,107,108',
    358 '110,,111,,,142,141,,116,117,,115,118,119,120,121,122,123,104,105,106',
    359 '107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123,,142,',
    360 ',,,,,,104,105,106,107,108,110,,111,,,,141,,116,117,142,115,118,119,120',
    361 '121,122,123,104,105,106,107,108,110,,111,,,,141,,116,117,142,115,118',
    362 '119,120,121,122,123,104,105,106,107,108,110,,111,,,,141,,116,117,142',
    363 '115,118,119,120,121,122,123,104,105,106,107,108,110,,111,,,,141,,116',
    364 '117,,115,118,119,120,121,122,123,,142,,,,,,139,349,,,,,140,104,105,106',
    365 '107,108,110,,111,,,142,141,,116,117,,115,118,119,120,121,122,123,104',
    366 '105,106,107,108,110,,111,,,142,141,,116,117,,115,118,119,120,121,122',
    367 '123,104,105,106,107,108,110,,111,,,142,141,,116,117,,115,118,119,120',
    368 '121,122,123,104,105,106,107,108,110,,111,,,,141,,116,117,,115,118,119',
    369 '120,121,122,123,,142,,,,,,,,104,105,106,107,108,110,,111,,,,141,,116',
    370 '117,142,115,118,119,120,121,122,123,104,105,106,107,108,110,,111,,,',
    371 '141,,116,117,142,115,118,119,120,121,122,123,104,105,106,107,108,110',
    372 ',111,,,,141,,116,117,142,115,118,119,120,121,122,123,,,,,,,,,,104,105',
    373 '106,107,108,110,,111,,,,234,,116,117,142,115,118,119,120,121,122,123',
    374 ',,,,,,,,,,,,,,,142,228,,8,9,10,11,15,16,17,18,19,20,21,22,77,237,23',
    375 '25,26,27,,,142,229,,230,231,232,233,,235,236,238,239,240,241,,,,,,,',
    376 ',,,37,38,39,40,41,42,43,44,142,104,105,106,107,108,110,,111,,336,,141',
    377 ',116,117,,115,118,119,120,121,122,123,104,105,106,107,108,110,,111,',
    378 ',,141,,116,117,,115,118,119,120,121,122,123,8,9,10,11,15,16,17,18,19',
    379 '20,21,22,,,23,25,26,27,8,9,10,11,15,16,17,18,19,20,21,22,,,23,25,26',
    380 '27,,104,105,106,107,108,110,,111,,,142,141,,116,117,,115,118,119,120',
    381 '121,122,123,104,105,106,107,108,110,,111,,,142,141,,116,117,,115,118',
    382 '119,120,121,122,123,104,105,106,107,108,110,,111,,,,141,,116,117,,115',
    383 '118,119,120,121,122,123,104,105,106,107,108,187,,111,,,,141,,116,117',
    384 ',115,118,119,120,121,122,123,,142,,,,,,,,104,105,106,107,108,189,,111',
    385 ',,,141,,116,117,142,115,118,119,120,121,122,123,104,105,106,107,108',
    386 '189,,111,,,,141,,116,117,142,115,118,119,120,121,122,123,104,105,106',
    387 '107,108,110,,111,,,,141,,116,117,142,115,118,119,120,121,122,123,104',
    388 '105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123',
    389 ',142,,,,,,139,,,,,,140,272,332,326,251,104,105,106,107,108,110,142,111',
    390 ',53,,141,,116,117,,115,118,119,120,121,122,123,,,,,,,142,,,8,9,10,11',
    391 '15,16,17,18,19,20,21,22,,,23,25,26,27,,,142,104,105,106,107,108,110',
    392 ',111,,,,234,,116,117,,115,118,119,120,121,122,123,37,38,39,40,41,42',
    393 '43,44,,,,,,,,,228,142,8,9,10,11,15,16,17,18,19,20,21,22,77,,23,25,26',
    394 '27,,,,229,,230,231,232,233,,235,236,238,239,240,241,368,,,,,,,,,,37',
    395 '38,39,40,41,42,43,44,142,247,332,,251,,,51,,,,,,,53,,,8,9,10,11,15,16',
    396 '17,18,19,20,21,22,,,23,25,26,27,,,8,9,10,11,15,16,17,18,19,20,21,22',
    397 ',,23,25,26,27,147,,,,,,37,38,39,40,41,42,43,44,,,,,,,,,328,,,,37,38',
    398 '39,40,41,42,43,44,,8,9,10,11,15,16,17,18,19,20,21,22,,,23,25,26,27,8',
    399 '9,10,11,15,16,17,18,19,20,21,22,,,23,25,26,27,,,,,,,,,37,38,39,40,41',
    400 '42,43,44,,,,,,,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15,16,17,18,19',
    401 '20,21,22,,,23,25,26,27,8,9,10,11,15,16,17,18,19,20,21,22,,338,23,25',
    402 '26,27,,,,,,,,,37,38,39,40,41,42,43,44,,,,,,,,,,,37,38,39,40,41,42,43',
    403 '44,8,9,10,11,15,16,17,18,19,20,21,22,,162,23,25,26,27,8,9,10,11,15,16',
    404 '17,18,19,20,21,22,,,23,25,26,27,,,,,,,,,37,38,39,40,41,42,43,44,,,,',
    405 ',,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15,16,17,18,19,20,21,22,,,23',
    406 '25,26,27,8,9,10,11,15,16,17,18,19,20,21,22,,,23,25,26,27,,,,,,,,,37',
    407 '38,39,40,41,42,43,44,,,,,,,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15',
    408 '16,17,18,19,20,21,22,,255,23,25,26,27,8,9,10,11,15,16,17,18,19,20,21',
    409 '22,,,23,25,26,27,,,,,,,,,37,38,39,40,41,42,43,44,,,,,,,,,,,37,38,39',
    410 '40,41,42,43,44,8,9,10,11,15,16,17,18,19,20,21,22,,260,23,25,26,27,8',
    411 '9,10,11,15,16,17,18,19,20,21,22,,,23,25,26,27,,,,,,,,,37,38,39,40,41',
    412 '42,43,44,,,,,,,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15,16,17,18,19',
    413 '20,21,22,,,23,25,26,27,8,9,10,11,15,16,17,18,19,20,21,22,,,23,25,26',
    414 '27,,,,,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15,16,17,18,19,20,21,22',
    415 ',,23,25,26,27' ]
    416         racc_action_table = arr = ::Array.new(2877, nil)
     311'111,112,113,114,115,117,294,118,56,298,55,163,54,123,124,82,54,262,122',
     312'125,126,127,128,129,130,111,112,113,114,115,117,217,118,271,391,101',
     313'163,91,123,124,82,271,271,122,125,126,127,128,129,130,56,70,171,72,82',
     314'69,397,71,80,32,33,34,224,309,271,223,216,226,84,227,228,229,84,392',
     315'101,325,272,171,298,312,80,164,165,172,393,173,174,175,176,177,178,179',
     316'180,149,181,101,218,79,308,369,388,32,33,34,265,266,164,165,172,73,173',
     317'174,175,176,177,178,179,180,149,181,111,112,113,114,115,117,384,118',
     318'32,33,34,163,78,123,124,82,440,402,122,125,126,127,128,129,130,55,219',
     319'271,271,383,101,54,332,248,325,387,55,298,249,250,56,382,54,111,112',
     320'113,114,115,117,56,118,56,171,331,163,395,123,124,82,276,210,122,125',
     321'126,127,128,129,130,420,55,378,210,248,377,396,54,330,249,250,393,92',
     322'164,165,172,56,173,174,175,176,177,178,179,180,149,181,171,9,10,11,12',
     323'13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,355,356',
     324'213,164,165,172,204,173,174,175,176,177,178,179,180,149,181,111,112',
     325'113,114,115,117,404,118,93,378,203,163,377,123,124,82,193,271,122,125',
     326'126,127,128,129,130,111,112,113,114,115,117,290,118,101,86,55,163,85',
     327'123,124,82,54,291,122,125,126,127,128,129,130,56,357,171,13,14,15,16',
     328'17,18,19,20,21,22,26,28,30,31,32,33,34,248,86,322,438,85,249,250,171',
     329'434,435,370,164,165,172,271,173,174,175,176,177,178,179,180,149,181',
     330'259,260,261,321,255,256,257,258,315,316,262,164,165,172,271,173,174',
     331'175,176,177,178,179,180,149,181,111,112,113,114,115,117,403,118,317',
     332'318,263,163,264,123,124,82,320,271,122,125,126,127,128,129,130,13,14',
     333'15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,437,111,112,113,114,115',
     334'117,360,118,400,171,271,163,368,123,124,82,166,103,122,125,126,127,128',
     335'129,130,102,55,255,256,257,258,310,54,255,256,257,258,405,164,165,172',
     336'56,173,174,175,176,177,178,179,180,149,181,171,9,10,11,12,13,14,15,16',
     337'17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,259,260,301,164,165',
     338'172,300,173,174,175,176,177,178,179,180,149,181,111,112,113,114,115',
     339'117,408,118,253,254,292,163,409,123,124,82,253,254,122,125,126,127,128',
     340'129,130,111,112,113,114,115,117,410,118,253,254,55,163,289,123,124,82',
     341'54,288,122,125,126,127,128,129,130,56,415,171,13,14,15,16,17,18,19,20',
     342'21,22,26,28,30,31,32,33,34,253,254,253,254,251,252,261,171,211,212,285',
     343'164,165,172,284,173,174,175,176,177,178,179,180,149,181,237,238,239',
     344'240,241,242,243,244,245,246,247,164,165,172,283,173,174,175,176,177',
     345'178,179,180,149,181,111,112,113,114,115,117,282,118,251,252,389,163',
     346'389,123,124,82,251,252,122,125,126,127,128,129,130,111,112,113,114,115',
     347'117,101,118,67,82,55,163,64,123,124,82,54,63,122,125,126,127,128,129',
     348'130,56,55,171,55,55,294,280,54,298,54,54,54,279,430,431,432,56,433,56',
     349'56,56,365,436,278,263,275,264,171,273,270,48,164,165,172,444,173,174',
     350'175,176,177,178,179,180,149,181,269,3,,,,,,,,,,164,165,172,,173,174',
     351'175,176,177,178,179,180,149,181,111,112,113,114,115,117,,118,,,,163',
     352',123,124,82,,,122,125,126,127,128,129,130,111,112,113,114,115,117,,118',
     353',,,148,,123,124,,,,122,125,126,127,128,129,130,,,171,111,112,113,114',
     354'115,117,,118,,,,148,,123,124,,,,122,125,126,127,128,129,130,,,,164,165',
     355'172,,173,174,175,176,177,178,179,180,149,181,,,,,,,111,112,113,114,115',
     356'117,,118,,411,,148,,123,124,,,149,122,125,126,127,128,129,130,,,,111',
     357'112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129',
     358'130,111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126,127',
     359'128,129,130,,,171,,,,,,,,,,,,,149,,111,112,113,114,115,117,,118,,,171',
     360'148,,123,124,,,,122,125,126,127,128,129,130,,149,,,,,,,,111,112,113',
     361'114,115,117,,118,,,,148,,123,124,146,398,149,122,125,126,127,128,129',
     362'130,111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126,127',
     363'128,129,130,111,112,113,114,115,117,,118,,149,,148,,123,124,389,,,122',
     364'125,126,127,128,129,130,,,,147,,,111,112,113,114,115,117,,118,,,,148',
     365'149,123,124,,,,122,125,126,127,128,129,130,111,112,113,114,115,117,',
     366'118,,379,,148,149,123,124,,,,122,125,126,127,128,129,130,,,,,,,,,,,',
     367',149,,,,,111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126',
     368'127,128,129,130,,149,,,,,,,,,,,,,,,,,,,,,,,,,149,171,9,10,11,12,13,14',
     369'15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,111,112,113',
     370'114,115,117,,118,,,,148,,123,124,149,,,122,125,126,127,128,129,130,111',
     371'112,113,114,115,117,,118,,,,148,,123,124,146,,,122,125,126,127,128,129',
     372'130,111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126,127',
     373'128,129,130,,111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122',
     374'125,126,127,128,129,130,,,147,,,111,112,113,114,115,117,,118,,,,148',
     375'149,123,124,,,,122,125,126,127,128,129,130,111,112,113,114,115,117,',
     376'118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,,111,112,113,114',
     377'115,117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,111,112',
     378'113,114,115,117,,118,,,,148,,123,124,146,,149,122,125,126,127,128,129',
     379'130,111,112,113,114,115,117,427,118,,,,148,,123,124,,,149,122,125,126',
     380'127,128,129,130,,111,112,113,114,115,117,,118,,,,148,,123,124,,,149',
     381'122,125,126,127,128,129,130,,,147,,,111,112,113,114,115,117,,118,,185',
     382',148,149,123,124,,,,122,125,126,127,128,129,130,111,112,113,114,115',
     383'117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,,111,112',
     384'113,114,115,117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130',
     385'111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128',
     386'129,130,111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126',
     387'127,128,129,130,,111,112,113,114,115,117,,118,,,,148,,123,124,,,149',
     388'122,125,126,127,128,129,130,111,112,113,114,115,117,,118,,,,148,,123',
     389'124,,,149,122,125,126,127,128,129,130,111,112,113,114,115,117,,118,',
     390',,148,,123,124,,,149,122,125,126,127,128,129,130,,111,112,113,114,115',
     391'117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,111,112,113',
     392'114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,111',
     393'112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129',
     394'130,,111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126',
     395'127,128,129,130,111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122',
     396'125,126,127,128,129,130,111,112,113,114,115,117,,118,,,,148,,123,124',
     397',,149,122,125,126,127,128,129,130,,111,112,113,114,115,117,,118,,,,148',
     398',123,124,,,149,122,125,126,127,128,129,130,111,112,113,114,115,117,',
     399'118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,111,112,113,114',
     400'115,117,,118,,,,148,,123,124,146,,149,122,125,126,127,128,129,130,,111',
     401'112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129',
     402'130,,,,,,,,,,,,,,,,,,149,,,,,,,,,,147,,,111,112,113,114,115,117,,118',
     403',,,148,149,123,124,,,,122,125,126,127,128,129,130,,111,112,113,114,115',
     404'117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,,,,,,,13',
     405'14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,,,111,112,113,114,115',
     406'117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,,111,112',
     407'113,114,115,231,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130',
     408'111,112,113,114,115,233,,118,,,,148,,123,124,,,,122,125,126,127,128',
     409'129,130,111,112,113,114,115,233,,118,,,,148,,123,124,,,149,122,125,126',
     410'127,128,129,130,,,,,,,,,,,,,111,112,113,114,115,117,149,118,,,,148,',
     411'123,124,,,,122,125,126,127,128,129,130,111,112,113,114,115,117,149,118',
     412',,,148,,123,124,,,,122,125,126,127,128,129,130,,,,,,,149,13,14,15,16',
     413'17,18,19,20,21,22,26,28,30,31,32,33,34,,,111,112,113,114,115,117,,118',
     414',,,148,,123,124,,,149,122,125,126,127,128,129,130,111,112,113,114,115',
     415'117,327,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,,,,,,',
     416',13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,,,111,112,113,114',
     417'115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,111,112',
     418'113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130',
     419'111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126,127,128',
     420'129,130,,111,112,113,114,115,117,429,118,,,,148,,123,124,,,149,122,125',
     421'126,127,128,129,130,,287,,,,111,112,113,114,115,117,,118,,,,148,149',
     422'123,124,146,442,,122,125,126,127,128,129,130,111,112,113,114,115,117',
     423',118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,,111,112,113',
     424'114,115,117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,',
     425',147,,,,,,,,,,,,,,46,149,,,,,,,,,,,,,,,,,,,,,,,,,149,,,46,,,,,,,,,,',
     426',,,,,,,,,,,,149,45,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30',
     427'31,32,33,34,35,36,37,38,,,47,45,9,10,11,12,13,14,15,16,17,18,19,20,21',
     428'22,26,28,30,31,32,33,34,35,36,37,38,,41,47,294,375,,298,,,54,,,,,,,',
     429',56,,,,,,,,,,325,375,,298,,,,,,,,,,,,56,,,,,,,,9,10,11,12,13,14,15,16',
     430'17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14',
     431'15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,188,,,,,192',
     432',,,,,,,,,,,,,,,,,,,413,,,,,,,,,,,,,,,,,,,,,,9,10,11,12,13,14,15,16,17',
     433'18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14,15',
     434'16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,371,9,10,11,12',
     435'13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,,,,,',
     436'205,,,,,,,,,,,,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31',
     437'32,33,34,35,36,37,38,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28',
     438'30,31,32,33,34,35,36,37,38,307,,,,,,,,,,,,,,,,,,,,,,,,,381,,,,,,,,,',
     439',,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36',
     440'37,38,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34',
     441'35,36,37,38,302,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31',
     442'32,33,34,35,36,37,38,,,,,,,,,,,,9,10,11,12,13,14,15,16,17,18,19,20,21',
     443'22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14,15,16,17,18,19',
     444'20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14,15,16,17',
     445'18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14,15',
     446'16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13',
     447'14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11',
     448'12,13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9',
     449'10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37',
     450'38' ]
     451        racc_action_table = arr = ::Array.new(3198, nil)
    417452        idx = 0
    418453        clist.each do |str|
     
    424459
    425460clist = [
    426 '208,208,208,208,208,208,24,208,23,112,211,208,53,208,208,295,208,208',
    427 '208,208,208,208,208,209,209,209,209,209,209,93,209,130,130,296,209,46',
    428 '209,209,170,209,209,209,209,209,209,209,215,297,24,211,23,53,53,187',
    429 '187,187,187,187,187,46,187,112,112,48,187,298,187,187,93,187,187,187',
    430 '187,187,187,187,48,170,285,285,88,215,215,215,215,215,215,215,215,215',
    431 '215,164,301,208,187,187,187,187,187,187,187,187,187,187,187,187,83,283',
    432 '187,187,187,187,283,283,273,164,209,392,392,392,392,392,392,273,392',
    433 '99,257,82,392,271,392,392,271,392,392,392,392,392,392,392,179,179,179',
    434 '179,179,179,187,179,316,99,257,179,50,179,179,50,179,179,179,179,179',
    435 '179,179,192,192,192,192,192,192,49,192,286,286,1,192,49,192,192,320',
    436 '192,192,192,192,192,192,192,193,193,193,193,193,193,345,193,68,250,322',
    437 '193,250,193,193,345,193,193,193,193,193,193,193,49,392,246,330,178,246',
    438 '330,178,246,390,390,390,390,390,390,78,390,178,78,325,390,328,390,390',
    439 '179,390,390,390,390,390,390,390,150,158,331,150,287,287,150,158,288',
    440 '288,246,289,289,150,158,192,390,333,390,390,390,390,390,390,390,390',
    441 '390,390,390,390,390,284,390,390,390,390,284,284,193,390,67,390,390,390',
    442 '390,64,390,390,390,390,390,390,126,129,129,129,129,126,126,290,290,337',
    443 '390,390,390,390,390,390,390,390,390,379,379,379,379,379,379,62,379,293',
    444 '293,61,379,352,379,379,353,379,379,379,379,379,379,379,378,378,378,378',
    445 '378,378,354,378,127,127,355,378,356,378,378,357,378,378,378,378,378',
    446 '378,378,194,194,194,194,194,194,363,194,367,30,369,194,22,194,194,14',
    447 '194,194,194,194,194,194,194,195,195,195,195,195,195,380,195,135,135',
    448 '385,195,387,195,195,388,195,195,195,195,195,195,195,12,379,391,30,395',
    449 '30,30,30,30,30,30,30,30,30,30,30,30,92,183,30,30,30,30,92,378,30,262',
    450 '74,4,2,92,72,262,74,4,128,128,72,3,262,74,4,182,180,72,176,175,194,173',
    451 '30,30,30,30,30,30,30,30,113,168,113,155,113,113,113,291,291,291,291',
    452 '154,2,195,2,2,2,2,2,2,2,2,2,2,2,2,148,146,2,2,2,2,144,2,2,196,196,196',
    453 '196,196,196,142,196,140,134,133,196,132,196,196,131,196,196,196,196',
    454 '196,196,196,2,2,2,2,2,2,2,2,213,377,377,377,377,377,377,229,377,230',
    455 '232,233,377,234,377,377,236,377,377,377,377,377,377,377,340,216,172',
    456 '238,52,239,340,216,172,240,52,242,109,340,216,172,377,52,377,377,377',
    457 '377,377,377,377,377,377,377,377,377,377,103,377,377,377,377,102,96,196',
    458 '377,95,377,377,377,377,89,377,377,377,377,377,377,292,292,292,292,276',
    459 '279,294,,,,377,377,377,377,377,377,377,377,377,169,169,169,169,169,169',
    460 ',169,,,,169,,169,169,,169,169,169,169,169,169,169,,,376,376,376,376',
    461 '376,376,,376,,,,376,,376,376,,376,376,376,376,376,376,376,,,,,,,,,,',
    462 ',,,,,,376,,376,376,376,376,376,376,376,376,376,376,376,376,376,,376',
    463 '376,376,376,,,,376,,376,376,376,376,169,376,376,376,376,376,376,,,,',
    464 ',,,,,,376,376,376,376,376,376,376,376,376,359,359,359,359,359,359,,359',
    465 ',,,359,,359,359,,359,359,359,359,359,359,359,,,,,,,,,,,,,,,,,359,,359',
    466 '359,359,359,359,359,359,359,359,359,359,359,359,,359,359,359,359,,,',
    467 '359,,359,359,359,359,,359,359,359,359,359,359,,,,,,,,,,,359,359,359',
    468 '359,359,359,359,359,359,197,197,197,197,197,197,,197,,,,197,,197,197',
    469 ',197,197,197,197,197,197,197,348,348,348,348,348,348,,348,,,,348,,348',
    470 '348,,348,348,348,348,348,348,348,344,344,344,344,344,344,,344,,,,344',
    471 ',344,344,,344,344,344,344,344,344,344,189,189,189,189,189,189,,189,',
    472 ',,189,,189,189,,189,189,189,189,189,189,189,,197,,,,,,,,198,198,198',
    473 '198,198,198,,198,,,,198,,198,198,348,198,198,198,198,198,198,198,334',
    474 '334,334,334,334,334,,334,,334,,334,,334,334,344,334,334,334,334,334',
    475 '334,334,,,,,,,,321,321,321,321,321,321,,321,189,,,321,,321,321,,321',
    476 '321,321,321,321,321,321,,,,,,,,,,,,,,,,,321,198,321,321,321,321,321',
    477 '321,321,321,321,321,321,321,321,,321,321,321,321,,,,321,334,321,321',
    478 '321,321,,321,321,321,321,321,321,,,,,,,,,,,321,321,321,321,321,321,321',
    479 '321,321,319,319,319,319,319,319,,319,,,,319,,319,319,,319,319,319,319',
    480 '319,319,319,,,,,,,,,,,,,,,,,319,,319,319,319,319,319,319,319,319,319',
    481 '319,319,319,319,,319,319,319,319,,,,319,,319,319,319,319,,319,319,319',
    482 '319,319,319,,,,,,,,,,,319,319,319,319,319,319,319,319,319,396,396,396',
    483 '396,396,396,,396,,,,396,,396,396,,396,396,396,396,396,396,396,,,,,,',
    484 ',,,,,,,,,,396,,396,396,396,396,396,396,396,396,396,396,396,396,396,',
    485 '396,396,396,396,,,,396,,396,396,396,396,,396,396,396,396,396,396,,,',
    486 ',,,,,,,396,396,396,396,396,396,396,396,396,318,318,318,318,318,318,',
    487 '318,,,,318,,318,318,,318,318,318,318,318,318,318,317,317,317,317,317',
    488 '317,,317,,,,317,,317,317,,317,317,317,317,317,317,317,75,75,75,75,75',
    489 '75,,75,,,,75,,75,75,,75,75,75,75,75,75,75,315,315,315,315,315,315,,315',
    490 ',,,315,,315,315,,315,315,315,315,315,315,315,,318,,,,,,75,,,,,,75,80',
    491 '80,80,80,80,80,,80,,80,317,80,,80,80,,80,80,80,80,80,80,80,181,181,181',
    492 '181,181,181,,181,,,75,181,,181,181,,181,181,181,181,181,181,181,314',
    493 '314,314,314,314,314,,314,,,315,314,,314,314,,314,314,314,314,314,314',
    494 '314,302,302,302,302,302,302,,302,,,,302,,302,302,,302,302,302,302,302',
    495 '302,302,,80,,,,,,,,199,199,199,199,199,199,,199,,,,199,,199,199,181',
    496 '199,199,199,199,199,199,199,200,200,200,200,200,200,,200,,,,200,,200',
    497 '200,314,200,200,200,200,200,200,200,300,300,300,300,300,300,,300,,,',
    498 '300,,300,300,302,300,300,300,300,300,300,300,275,275,275,275,275,275',
    499 ',275,,,,275,,275,275,,275,275,275,275,275,275,275,,199,,,,,,300,300',
    500 ',,,,300,201,201,201,201,201,201,,201,,,200,201,,201,201,,201,201,201',
    501 '201,201,201,201,207,207,207,207,207,207,,207,,,300,207,,207,207,,207',
    502 '207,207,207,207,207,207,210,210,210,210,210,210,,210,,,275,210,,210',
    503 '210,,210,210,210,210,210,210,210,202,202,202,202,202,202,,202,,,,202',
    504 ',202,202,,202,202,202,202,202,202,202,,201,,,,,,,,269,269,269,269,269',
    505 '269,,269,,,,269,,269,269,207,269,269,269,269,269,269,269,203,203,203',
    506 '203,203,203,,203,,,,203,,203,203,210,203,203,203,203,203,203,203,204',
    507 '204,204,204,204,204,,204,,,,204,,204,204,202,204,204,204,204,204,204',
    508 '204,,,,,,,,,,143,143,143,143,143,143,,143,,,,143,,143,143,269,143,143',
    509 '143,143,143,143,143,,,,,,,,,,,,,,,,203,143,,143,143,143,143,143,143',
    510 '143,143,143,143,143,143,143,143,143,143,143,143,,,204,143,,143,143,143',
    511 '143,,143,143,143,143,143,143,,,,,,,,,,,143,143,143,143,143,143,143,143',
    512 '143,251,251,251,251,251,251,,251,,251,,251,,251,251,,251,251,251,251',
    513 '251,251,251,110,110,110,110,110,110,,110,,,,110,,110,110,,110,110,110',
    514 '110,110,110,110,70,70,70,70,70,70,70,70,70,70,70,70,,,70,70,70,70,110',
    515 '110,110,110,110,110,110,110,110,110,110,110,,,110,110,110,110,,205,205',
    516 '205,205,205,205,,205,,,251,205,,205,205,,205,205,205,205,205,205,205',
    517 '206,206,206,206,206,206,,206,,,110,206,,206,206,,206,206,206,206,206',
    518 '206,206,114,114,114,114,114,114,,114,,,,114,,114,114,,114,114,114,114',
    519 '114,114,114,115,115,115,115,115,115,,115,,,,115,,115,115,,115,115,115',
    520 '115,115,115,115,,205,,,,,,,,116,116,116,116,116,116,,116,,,,116,,116',
    521 '116,206,116,116,116,116,116,116,116,117,117,117,117,117,117,,117,,,',
    522 '117,,117,117,114,117,117,117,117,117,117,117,139,139,139,139,139,139',
    523 ',139,,,,139,,139,139,115,139,139,139,139,139,139,139,241,241,241,241',
    524 '241,241,,241,,,,241,,241,241,,241,241,241,241,241,241,241,,116,,,,,',
    525 '139,,,,,,139,272,272,241,272,235,235,235,235,235,235,117,235,,272,,235',
    526 ',235,235,,235,235,235,235,235,235,235,,,,,,,139,,,272,272,272,272,272',
    527 '272,272,272,272,272,272,272,,,272,272,272,272,,,241,231,231,231,231',
    528 '231,231,,231,,,,231,,231,231,,231,231,231,231,231,231,231,272,272,272',
    529 '272,272,272,272,272,,,,,,,,,231,235,231,231,231,231,231,231,231,231',
    530 '231,231,231,231,231,,231,231,231,231,,,,231,,231,231,231,231,,231,231',
    531 '231,231,231,231,335,,,,,,,,,,231,231,231,231,231,231,231,231,231,247',
    532 '247,,247,,,247,,,,,,,247,,,335,335,335,335,335,335,335,335,335,335,335',
    533 '335,,,335,335,335,335,,,247,247,247,247,247,247,247,247,247,247,247',
    534 '247,,,247,247,247,247,81,,,,,,335,335,335,335,335,335,335,335,,,,,,',
    535 ',,245,,,,247,247,247,247,247,247,247,247,,81,81,81,81,81,81,81,81,81',
    536 '81,81,81,,,81,81,81,81,245,245,245,245,245,245,245,245,245,245,245,245',
    537 ',,245,245,245,245,,,,,,,,,81,81,81,81,81,81,81,81,,,,,,,,,,,245,245',
    538 '245,245,245,245,245,245,5,5,5,5,5,5,5,5,5,5,5,5,,,5,5,5,5,252,252,252',
    539 '252,252,252,252,252,252,252,252,252,,252,252,252,252,252,,,,,,,,,5,5',
    540 '5,5,5,5,5,5,,,,,,,,,,,252,252,252,252,252,252,252,252,90,90,90,90,90',
    541 '90,90,90,90,90,90,90,,90,90,90,90,90,153,153,153,153,153,153,153,153',
    542 '153,153,153,153,,,153,153,153,153,,,,,,,,,90,90,90,90,90,90,90,90,,',
    543 ',,,,,,,,153,153,153,153,153,153,153,153,87,87,87,87,87,87,87,87,87,87',
    544 '87,87,,,87,87,87,87,86,86,86,86,86,86,86,86,86,86,86,86,,,86,86,86,86',
    545 ',,,,,,,,87,87,87,87,87,87,87,87,,,,,,,,,,,86,86,86,86,86,86,86,86,156',
    546 '156,156,156,156,156,156,156,156,156,156,156,,156,156,156,156,156,65',
    547 '65,65,65,65,65,65,65,65,65,65,65,,,65,65,65,65,,,,,,,,,156,156,156,156',
    548 '156,156,156,156,,,,,,,,,,,65,65,65,65,65,65,65,65,159,159,159,159,159',
    549 '159,159,159,159,159,159,159,,159,159,159,159,159,7,7,7,7,7,7,7,7,7,7',
    550 '7,7,,,7,7,7,7,,,,,,,,,159,159,159,159,159,159,159,159,,,,,,,,,,,7,7',
    551 '7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,,,6,6,6,6,36,36,36,36,36,36,36,36',
    552 '36,36,36,36,,,36,36,36,36,,,,,,,,,6,6,6,6,6,6,6,6,71,71,71,71,71,71',
    553 '71,71,71,71,71,71,,,71,71,71,71' ]
    554         racc_action_check = arr = ::Array.new(2877, nil)
     461'440,440,440,440,440,440,293,440,56,293,52,440,293,440,440,440,52,139',
     462'440,440,440,440,440,440,440,438,438,438,438,438,438,106,438,354,326',
     463'103,438,65,438,438,438,151,326,438,438,438,438,438,438,438,88,29,440',
     464'31,51,29,354,31,109,56,56,56,120,207,286,120,106,120,293,120,120,120',
     465'52,328,212,324,151,438,324,212,51,440,440,440,328,440,440,440,440,440',
     466'440,440,440,440,440,318,110,49,207,286,318,88,88,88,142,142,438,438',
     467'438,31,438,438,438,438,438,438,438,438,438,438,436,436,436,436,436,436',
     468'304,436,120,120,120,436,49,436,436,436,428,362,436,436,436,436,436,436',
     469'436,98,116,428,362,304,316,98,227,340,222,316,309,222,340,340,98,304',
     470'309,167,167,167,167,167,167,222,167,309,436,226,167,333,167,167,167',
     471'167,98,167,167,167,167,167,167,167,394,4,297,309,339,297,334,4,225,339',
     472'339,394,66,436,436,436,4,436,436,436,436,436,436,436,436,436,436,167',
     473'167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167',
     474'167,167,167,167,167,167,167,167,267,267,101,167,167,167,95,167,167,167',
     475'167,167,167,167,167,167,167,429,429,429,429,429,429,364,429,68,373,94',
     476'429,373,429,429,429,87,364,429,429,429,429,429,429,429,427,427,427,427',
     477'427,427,187,427,71,83,217,427,83,427,427,427,217,187,427,427,427,427',
     478'427,427,427,217,269,429,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75',
     479'75,75,133,53,221,426,53,133,133,427,418,418,291,429,429,429,426,429',
     480'429,429,429,429,429,429,429,429,429,137,137,350,220,136,136,136,136',
     481'214,214,351,427,427,427,220,427,427,427,427,427,427,427,427,427,427',
     482'175,175,175,175,175,175,363,175,215,215,352,175,353,175,175,175,218',
     483'363,175,175,175,175,175,175,175,76,76,76,76,76,76,76,76,76,76,76,76',
     484'76,76,76,76,76,425,82,82,82,82,82,82,274,82,357,175,425,82,283,82,82',
     485'82,82,73,82,82,82,82,82,82,82,72,201,347,347,347,347,209,201,348,348',
     486'348,348,365,175,175,175,201,175,175,175,175,175,175,175,175,175,175',
     487'82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82',
     488'82,82,82,349,349,198,82,82,82,197,82,82,82,82,82,82,82,82,82,82,273',
     489'273,273,273,273,273,371,273,135,135,189,273,374,273,273,273,346,346',
     490'273,273,273,273,273,273,273,404,404,404,404,404,404,376,404,345,345',
     491'79,404,186,404,404,404,79,184,404,404,404,404,404,404,404,79,380,273',
     492'47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,344,344,343,343,342',
     493'342,138,404,99,99,179,273,273,273,178,273,273,273,273,273,273,273,273',
     494'273,273,131,131,131,131,131,131,131,131,131,131,131,404,404,404,177',
     495'404,404,404,404,404,404,404,404,404,404,402,402,402,402,402,402,176',
     496'402,341,341,395,402,396,402,402,402,134,134,402,402,402,402,402,402',
     497'402,275,275,275,275,275,275,102,275,27,403,77,275,25,275,275,275,77',
     498'23,275,275,275,275,275,275,275,77,55,402,152,384,191,174,55,191,152',
     499'384,191,173,408,412,414,55,416,152,384,191,281,422,172,140,165,141,275',
     500'163,149,3,402,402,402,437,402,402,402,402,402,402,402,402,402,402,147',
     501'1,,,,,,,,,,275,275,275,,275,275,275,275,275,275,275,275,275,275,360',
     502'360,360,360,360,360,,360,,,,360,,360,360,360,,,360,360,360,360,360,360',
     503'360,249,249,249,249,249,249,,249,,,,249,,249,249,,,,249,249,249,249',
     504'249,249,249,,,360,383,383,383,383,383,383,,383,,,,383,,383,383,,,,383',
     505'383,383,383,383,383,383,,,,360,360,360,,360,360,360,360,360,360,360',
     506'360,360,360,,,,,,,377,377,377,377,377,377,,377,,377,,377,,377,377,,',
     507'249,377,377,377,377,377,377,377,,,,367,367,367,367,367,367,,367,,,,367',
     508',367,367,,,383,367,367,367,367,367,367,367,366,366,366,366,366,366,',
     509'366,,,,366,,366,366,,,,366,366,366,366,366,366,366,,,367,,,,,,,,,,,',
     510',377,,393,393,393,393,393,393,,393,,,366,393,,393,393,,,,393,393,393',
     511'393,393,393,393,,367,,,,,,,,356,356,356,356,356,356,,356,,,,356,,356',
     512'356,356,356,366,356,356,356,356,356,356,356,330,330,330,330,330,330',
     513',330,,,,330,,330,330,,,,330,330,330,330,330,330,330,322,322,322,322',
     514'322,322,,322,,393,,322,,322,322,322,,,322,322,322,322,322,322,322,,',
     515',356,,,310,310,310,310,310,310,,310,,,,310,356,310,310,,,,310,310,310',
     516'310,310,310,310,298,298,298,298,298,298,,298,,298,,298,330,298,298,',
     517',,298,298,298,298,298,298,298,,,,,,,,,,,,,322,,,,,282,282,282,282,282',
     518'282,,282,,,,282,,282,282,,,,282,282,282,282,282,282,282,,310,,,,,,,',
     519',,,,,,,,,,,,,,,,,298,282,282,282,282,282,282,282,282,282,282,282,282',
     520'282,282,282,282,282,282,282,282,282,282,282,282,282,282,280,280,280',
     521'280,280,280,,280,,,,280,,280,280,282,,,280,280,280,280,280,280,280,146',
     522'146,146,146,146,146,,146,,,,146,,146,146,146,,,146,146,146,146,146,146',
     523'146,278,278,278,278,278,278,,278,,,,278,,278,278,,,,278,278,278,278',
     524'278,278,278,,397,397,397,397,397,397,,397,,,,397,,397,397,,,280,397',
     525'397,397,397,397,397,397,,,146,,,405,405,405,405,405,405,,405,,,,405',
     526'146,405,405,,,,405,405,405,405,405,405,405,271,271,271,271,271,271,',
     527'271,,,,271,278,271,271,,,,271,271,271,271,271,271,271,,266,266,266,266',
     528'266,266,,266,,,,266,397,266,266,,,,266,266,266,266,266,266,266,80,80',
     529'80,80,80,80,,80,,,,80,,80,80,80,,405,80,80,80,80,80,80,80,406,406,406',
     530'406,406,406,406,406,,,,406,,406,406,,,271,406,406,406,406,406,406,406',
     531',265,265,265,265,265,265,,265,,,,265,,265,265,,,266,265,265,265,265',
     532'265,265,265,,,80,,,85,85,85,85,85,85,,85,,85,,85,80,85,85,,,,85,85,85',
     533'85,85,85,85,264,264,264,264,264,264,,264,,,,264,406,264,264,,,,264,264',
     534'264,264,264,264,264,,263,263,263,263,263,263,,263,,,,263,265,263,263',
     535',,,263,263,263,263,263,263,263,262,262,262,262,262,262,,262,,,,262,',
     536'262,262,,,85,262,262,262,262,262,262,262,261,261,261,261,261,261,,261',
     537',,,261,,261,261,,,264,261,261,261,261,261,261,261,,260,260,260,260,260',
     538'260,,260,,,,260,,260,260,,,263,260,260,260,260,260,260,260,259,259,259',
     539'259,259,259,,259,,,,259,,259,259,,,262,259,259,259,259,259,259,259,258',
     540'258,258,258,258,258,,258,,,,258,,258,258,,,261,258,258,258,258,258,258',
     541'258,,257,257,257,257,257,257,,257,,,,257,,257,257,,,260,257,257,257',
     542'257,257,257,257,256,256,256,256,256,256,,256,,,,256,,256,256,,,259,256',
     543'256,256,256,256,256,256,255,255,255,255,255,255,,255,,,,255,,255,255',
     544',,258,255,255,255,255,255,255,255,,254,254,254,254,254,254,,254,,,,254',
     545',254,254,,,257,254,254,254,254,254,254,254,253,253,253,253,253,253,',
     546'253,,,,253,,253,253,,,256,253,253,253,253,253,253,253,252,252,252,252',
     547'252,252,,252,,,,252,,252,252,,,255,252,252,252,252,252,252,252,,251',
     548'251,251,251,251,251,,251,,,,251,,251,251,,,254,251,251,251,251,251,251',
     549'251,250,250,250,250,250,250,,250,,,,250,,250,250,,,253,250,250,250,250',
     550'250,250,250,389,389,389,389,389,389,,389,,,,389,,389,389,389,,252,389',
     551'389,389,389,389,389,389,,248,248,248,248,248,248,,248,,,,248,,248,248',
     552',,251,248,248,248,248,248,248,248,,,,,,,,,,,,,,,,,,250,,,,,,,,,,389',
     553',,117,117,117,117,117,117,,117,,,,117,389,117,117,,,,117,117,117,117',
     554'117,117,117,,236,236,236,236,236,236,,236,,,,236,248,236,236,,,,236',
     555'236,236,236,236,236,236,,,,,,,117,117,117,117,117,117,117,117,117,117',
     556'117,117,117,117,117,117,117,,,121,121,121,121,121,121,,121,,,,121,,121',
     557'121,,,117,121,121,121,121,121,121,121,,122,122,122,122,122,122,,122',
     558',,,122,,122,122,,,236,122,122,122,122,122,122,122,123,123,123,123,123',
     559'123,,123,,,,123,,123,123,,,,123,123,123,123,123,123,123,124,124,124',
     560'124,124,124,,124,,,,124,,124,124,,,121,124,124,124,124,124,124,124,',
     561',,,,,,,,,,,233,233,233,233,233,233,122,233,,,,233,,233,233,,,,233,233',
     562'233,233,233,233,233,223,223,223,223,223,223,123,223,,,,223,,223,223',
     563',,,223,223,223,223,223,223,223,,,,,,,124,233,233,233,233,233,233,233',
     564'233,233,233,233,233,233,233,233,233,233,,,231,231,231,231,231,231,,231',
     565',,,231,,231,231,,,233,231,231,231,231,231,231,231,224,224,224,224,224',
     566'224,224,224,,,,224,,224,224,,,223,224,224,224,224,224,224,224,,,,,,',
     567',231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231',
     568',,213,213,213,213,213,213,,213,,,,213,,213,213,,,231,213,213,213,213',
     569'213,213,213,210,210,210,210,210,210,,210,,,,210,,210,210,,,224,210,210',
     570'210,210,210,210,210,180,180,180,180,180,180,,180,,,,180,,180,180,,,',
     571'180,180,180,180,180,180,180,,407,407,407,407,407,407,407,407,,,,407',
     572',407,407,,,213,407,407,407,407,407,407,407,,180,,,,435,435,435,435,435',
     573'435,,435,,,,435,210,435,435,435,435,,435,435,435,435,435,435,435,164',
     574'164,164,164,164,164,,164,,,,164,180,164,164,,,,164,164,164,164,164,164',
     575'164,,279,279,279,279,279,279,,279,,,,279,407,279,279,,,,279,279,279',
     576'279,279,279,279,,,435,,,,,,,,,,,,,,41,435,,,,,,,,,,,,,,,,,,,,,,,,,164',
     577',,2,,,,,,,,,,,,,,,,,,,,,,,279,41,41,41,41,41,41,41,41,41,41,41,41,41',
     578'41,41,41,41,41,41,41,41,41,41,41,41,41,,,41,2,2,2,2,2,2,2,2,2,2,2,2',
     579'2,2,2,2,2,2,2,2,2,2,2,2,2,2,,2,2,294,294,,294,,,294,,,,,,,,,294,,,,',
     580',,,,,325,325,,325,,,,,,,,,,,,325,,,,,,,,294,294,294,294,294,294,294',
     581'294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294',
     582'294,325,325,325,325,325,325,325,325,325,325,325,325,325,325,325,325',
     583'325,325,325,325,325,325,325,325,325,86,,,,,86,,,,,,,,,,,,,,,,,,,,378',
     584',,,,,,,,,,,,,,,,,,,,,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86',
     585'86,86,86,86,86,86,86,86,86,378,378,378,378,378,378,378,378,378,378,378',
     586'378,378,378,378,378,378,378,378,378,378,378,378,378,378,292,7,7,7,7',
     587'7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,,,,,,96,,,,,,,,,,,,292,292',
     588'292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292',
     589'292,292,292,292,292,292,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96',
     590'96,96,96,96,96,96,96,96,96,96,202,,,,,,,,,,,,,,,,,,,,,,,,,299,,,,,,',
     591',,,,,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202',
     592'202,202,202,202,202,202,202,202,202,299,299,299,299,299,299,299,299',
     593'299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299',
     594'199,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92',
     595'92,92,92,,,,,,,,,,,,199,199,199,199,199,199,199,199,199,199,199,199',
     596'199,199,199,199,199,199,199,199,199,199,199,199,199,8,8,8,8,8,8,8,8',
     597'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,196,196,196,196,196,196,196,196,196',
     598'196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,6,6',
     599'6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5',
     600'5,5,5,5,5,5,5,5,5,5,5,5,5,5,93,93,93,93,93,93,93,93,93,93,93,93,93,93',
     601'93,93,93,93,93,93,93,93,93,93,93,69,69,69,69,69,69,69,69,69,69,69,69',
     602'69,69,69,69,69,69,69,69,69,69,69,69,69' ]
     603        racc_action_check = arr = ::Array.new(3198, nil)
    555604        idx = 0
    556605        clist.each do |str|
     
    562611
    563612racc_action_pointer = [
    564    nil,   173,   432,   442,   425,  2414,  2764,  2712,   nil,   nil,
    565    nil,   nil,   363,   nil,   332,   nil,   nil,   nil,   nil,   nil,
    566    nil,   nil,   357,    -5,    -7,   nil,   nil,   nil,   nil,   nil,
    567    366,   nil,   nil,   nil,   nil,   nil,  2782,   nil,   nil,   nil,
    568    nil,   nil,   nil,   nil,   nil,   nil,    18,   nil,    21,   162,
    569    145,   nil,   548,    -8,   nil,   nil,   nil,   nil,   nil,   nil,
    570    nil,   267,   263,   nil,   231,  2642,   nil,   268,   139,   nil,
    571   1860,  2816,   428,   nil,   424,  1315,   nil,   nil,   217,   nil,
    572   1375,  2344,   119,    86,   nil,   nil,  2572,  2554,    39,   555,
    573   2484,   nil,   414,    12,   nil,   549,   575,   nil,   nil,   108,
    574    nil,   nil,   545,   487,   nil,   nil,   nil,   nil,   nil,   554,
    575   1878,   nil,     2,   451,  1984,  2007,  2039,  2062,   nil,   nil,
    576    nil,   nil,   nil,   nil,   nil,   nil,   273,   322,   412,   265,
    577     -2,   492,   473,   470,   468,   351,   nil,   nil,   nil,  2085,
    578    497,   nil,   489,  1761,   482,   nil,   480,   nil,   470,   nil,
    579    234,   nil,   nil,  2502,   431,   423,  2624,   nil,   235,  2694,
    580    nil,   nil,   nil,   nil,    74,   nil,   nil,   nil,   449,   620,
    581     21,   nil,   546,   439,   nil,   442,   441,   nil,   206,   138,
    582    440,  1398,   433,   409,   nil,   nil,   nil,    51,   nil,   902,
    583    nil,   nil,   161,   184,   356,   379,   494,   833,   934,  1476,
    584   1499,  1582,  1651,  1706,  1729,  1938,  1961,  1605,    -2,    21,
    585   1628,    -7,   nil,   518,   nil,     4,   545,   nil,   nil,   nil,
    586    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   527,
    587    529,  2202,   530,   531,   500,  2149,   503,   nil,   541,   515,
    588    519,  2108,   521,   nil,   nil,  2362,   204,  2291,   nil,   nil,
    589    188,  1855,  2432,   nil,   nil,   nil,   nil,   109,   nil,   nil,
    590    nil,   nil,   423,   nil,   nil,   nil,   nil,   nil,   nil,  1683,
    591    nil,   122,  2140,   106,   nil,  1545,   596,   nil,   nil,   600,
    592    nil,   nil,   nil,    87,   252,    57,   150,   218,   222,   225,
    593    273,   439,   574,   287,   590,   -20,    -3,    10,    25,   nil,
    594   1522,    84,  1444,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    595    nil,   nil,   nil,   nil,  1421,  1338,    82,  1292,  1269,  1081,
    596    138,   987,   155,   nil,   nil,   187,   nil,   nil,   218,   nil,
    597    205,   235,   nil,   250,   957,  2271,   nil,   291,   nil,   nil,
    598    544,   nil,   nil,   nil,   879,   184,   nil,   nil,   856,   nil,
    599    nil,   nil,   283,   319,   333,   338,   306,   342,   nil,   739,
    600    nil,   nil,   nil,   352,   nil,   nil,   nil,   355,   nil,   360,
    601    nil,   nil,   nil,   nil,   nil,   nil,   645,   526,   333,   310,
    602    317,   nil,   nil,   nil,   nil,   326,   nil,   385,   355,   nil,
    603    216,   365,   115,   nil,   nil,   400,  1175,   nil ]
     613   nil,   732,  2528,   716,   182,  3068,  3043,  2752,  2993,   nil,
     614   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     615   nil,   nil,   nil,   624,   nil,   619,   nil,   656,   nil,    38,
     616   nil,    40,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     617   nil,  2499,   nil,   nil,   nil,   nil,   nil,   510,   nil,    78,
     618   nil,    37,     3,   322,   nil,   680,   -14,   nil,   nil,   nil,
     619   nil,   nil,   nil,   nil,   nil,    20,   183,   nil,   249,  3118,
     620   nil,   278,   429,   421,   nil,   252,   344,   664,   nil,   544,
     621  1392,   nil,   419,   285,   nil,  1473,  2701,   266,    28,   nil,
     622   nil,   nil,  2932,  3093,   214,   193,  2819,   nil,   138,   576,
     623   nil,   200,   654,    22,   nil,   nil,    12,   nil,   nil,    15,
     624     1,   nil,   nil,   nil,   nil,   nil,   137,  1959,   nil,   nil,
     625    55,  2035,  2061,  2086,  2111,   nil,   nil,   nil,   nil,   nil,
     626   nil,   568,   nil,   306,   629,   495,   326,   318,   571,   -20,
     627   672,   673,    64,   nil,   nil,   nil,  1235,   724,   nil,   702,
     628   nil,    22,   682,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     629   nil,   nil,   nil,   672,  2431,   669,   nil,   161,   nil,   nil,
     630   nil,   nil,   702,   691,   685,   376,   635,   612,   546,   542,
     631  2350,   nil,   nil,   nil,   547,   nil,   545,   281,   nil,   507,
     632   nil,   684,   nil,   nil,   nil,   nil,  3018,   451,   447,  2968,
     633   nil,   440,  2881,   nil,   nil,   nil,   nil,    44,   nil,   410,
     634  2325,   nil,    61,  2300,   343,   368,   nil,   286,   381,   nil,
     635   348,   322,   147,  2173,  2249,   189,   160,   139,   nil,   nil,
     636   nil,  2224,   nil,  2148,   nil,   nil,  1985,   nil,   nil,   nil,
     637   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1904,   779,
     638  1853,  1828,  1802,  1777,  1752,  1726,  1701,  1676,  1650,  1625,
     639  1600,  1574,  1549,  1524,  1498,  1443,  1367,   223,   nil,   300,
     640   nil,  1341,   nil,   514,   385,   659,   nil,   nil,  1260,  2457,
     641  1210,   619,  1132,   379,   nil,   nil,    45,   nil,   nil,   nil,
     642   nil,   325,  2794,    -1,  2604,   nil,   nil,   183,  1090,  2906,
     643   nil,   nil,   nil,   nil,   107,   nil,   nil,   nil,   nil,   149,
     644  1065,   nil,   nil,   nil,   nil,   nil,   137,   nil,    82,   nil,
     645   nil,   nil,  1034,   nil,    68,  2629,    23,   nil,    65,   nil,
     646  1009,   nil,   nil,   167,   186,   nil,   nil,   nil,   nil,   170,
     647   131,   621,   567,   559,   557,   520,   503,   417,   423,   464,
     648   334,   326,   350,   351,    14,   nil,   984,   421,   nil,   nil,
     649   754,   nil,   129,   376,   256,   451,   908,   883,   nil,   nil,
     650   nil,   510,   nil,   260,   520,   nil,   539,   855,  2726,   nil,
     651   556,   nil,   nil,   807,   683,   nil,   nil,   nil,   nil,  1878,
     652   nil,   nil,   nil,   950,   180,   629,   631,  1286,   nil,   nil,
     653   nil,   nil,   634,   653,   539,  1316,  1417,  2376,   687,   nil,
     654   nil,   nil,   689,   nil,   693,   nil,   649,   nil,   318,   nil,
     655   nil,   nil,   622,   nil,   nil,   412,   323,   281,   128,   256,
     656   nil,   nil,   nil,   nil,   nil,  2406,   118,   666,    23,   nil,
     657    -2,   nil,   nil,   nil,   nil,   nil,   nil ]
    604658
    605659racc_action_default = [
    606   -174,  -241,    -1,  -241,  -241,   -70,   -71,   -72,   -80,   -81,
    607    -82,   -83,   -84,   -85,   -86,   -87,   -88,   -89,   -90,   -91,
    608    -92,   -93,   -96,  -241,  -241,  -127,  -132,  -133,  -175,  -176,
    609   -241,  -178,  -179,  -182,  -183,  -184,  -241,  -230,  -231,  -232,
    610   -233,  -234,  -235,  -236,  -237,   398,  -241,   -76,   -78,  -241,
    611   -135,  -137,  -241,  -143,   -73,   -84,   -86,   -74,   -75,  -181,
    612   -180,   -98,  -241,  -101,  -114,  -241,  -117,  -241,  -126,  -177,
    613   -105,  -107,  -241,   -69,  -241,  -241,  -188,  -189,  -134,  -136,
    614   -241,  -241,  -241,  -144,  -145,   -94,  -241,  -241,   -84,   -85,
    615   -241,  -115,  -241,  -241,  -128,  -130,  -241,  -106,  -108,  -241,
    616   -186,   -77,   -78,    -2,    -3,    -4,    -5,    -6,    -7,    -8,
    617   -241,   -10,   -12,   -23,  -241,  -241,  -241,  -241,   -29,   -30,
    618    -31,   -32,   -33,   -34,   -35,   -37,   -41,   -44,   -47,   -52,
    619    -55,   -57,   -59,   -61,   -63,   -65,   -68,   -79,  -168,  -241,
    620   -241,  -238,  -241,  -241,  -241,  -140,  -241,  -142,  -147,  -149,
    621   -153,  -138,  -146,  -241,   -84,   -85,  -241,   -99,  -241,  -241,
    622   -120,  -119,  -113,  -116,  -241,  -121,  -123,  -124,  -241,  -241,
    623   -241,  -185,  -241,  -241,   -11,  -241,  -241,   -67,  -154,   -20,
    624   -241,  -241,  -241,  -241,   -18,   -19,   -24,  -241,   -25,  -241,
    625    -27,   -28,  -241,  -241,  -241,  -241,  -241,  -241,  -241,  -241,
    626   -241,  -241,  -241,  -241,  -241,  -241,  -241,  -241,  -241,  -241,
    627   -241,  -241,  -172,  -241,  -239,   -35,  -241,  -190,  -191,  -192,
    628   -193,  -194,  -195,  -196,  -197,  -198,  -199,  -200,  -201,  -241,
    629   -241,  -241,  -241,  -241,  -238,  -241,  -241,  -211,  -241,  -241,
    630   -241,  -241,  -241,  -139,  -141,  -241,  -156,  -241,  -151,  -152,
    631   -157,  -241,  -241,  -104,  -103,   -97,  -100,  -241,  -109,  -111,
    632   -112,  -118,  -241,  -129,  -131,  -125,  -187,  -240,    -9,  -241,
    633   -155,  -156,  -241,  -241,   -21,   -20,  -241,   -16,   -17,  -241,
    634    -38,   -39,   -40,   -42,   -43,   -45,   -46,   -48,   -49,   -50,
    635    -51,   -53,   -54,   -56,   -58,   -60,   -62,   -64,  -241,  -169,
    636   -241,  -241,  -241,  -219,  -220,  -221,  -222,  -223,  -224,  -225,
    637   -226,  -227,  -228,  -229,  -241,  -241,  -241,  -241,  -241,  -241,
    638   -241,  -241,  -241,  -213,  -214,  -241,  -216,  -217,  -241,  -150,
    639   -158,  -241,  -164,  -241,  -241,  -241,  -160,  -241,   -95,  -102,
    640   -241,  -122,   -36,   -13,  -241,  -241,   -15,   -26,  -241,  -170,
    641   -173,  -171,  -241,  -241,  -241,  -241,  -241,  -241,  -208,  -241,
    642   -210,  -212,  -215,  -241,  -159,  -165,  -162,  -241,  -166,  -241,
    643   -161,  -110,   -22,   -14,   -66,  -218,  -241,  -241,  -241,  -241,
    644   -241,  -209,  -148,  -163,  -167,  -202,  -204,  -241,  -241,  -207,
    645   -241,  -241,  -241,  -203,  -205,  -241,  -241,  -206 ]
     660  -215,  -269,    -1,  -269,  -269,   -86,   -88,   -90,   -92,   -98,
     661   -99,  -100,  -101,  -102,  -103,  -104,  -105,  -106,  -107,  -108,
     662  -109,  -110,  -111,  -112,  -113,  -114,  -115,  -118,  -121,  -269,
     663  -139,  -269,  -163,  -164,  -165,  -166,  -167,  -168,  -169,  -216,
     664  -217,  -269,  -219,  -220,  -223,  -224,  -225,  -269,   447,  -269,
     665   -94,   -96,  -269,  -171,  -173,  -269,  -180,   -87,  -112,  -114,
     666   -89,   -91,   -93,  -222,  -221,  -120,  -269,  -124,  -138,  -269,
     667  -142,  -269,  -155,  -158,  -218,  -130,  -132,  -269,   -85,  -269,
     668  -269,  -229,  -269,  -170,  -172,  -269,  -269,  -269,  -181,  -182,
     669  -184,  -116,  -269,  -269,  -112,  -113,  -269,  -140,  -269,  -269,
     670  -159,  -161,  -269,  -269,  -129,  -131,  -269,  -227,   -95,   -96,
     671    -2,    -3,    -4,    -5,    -6,    -7,    -8,  -269,   -10,   -12,
     672   -25,  -269,  -269,  -269,  -269,   -31,   -32,   -33,   -34,   -35,
     673   -36,   -37,   -39,   -43,   -46,   -49,   -54,   -57,   -59,   -61,
     674   -63,   -65,   -67,   -69,   -97,  -209,  -269,  -269,  -265,  -269,
     675   -82,  -269,  -269,  -230,  -231,  -232,  -233,  -234,  -235,  -236,
     676  -237,  -238,  -239,  -265,  -269,  -269,  -243,  -269,  -245,  -247,
     677  -248,  -249,  -269,  -269,  -269,  -269,  -269,  -269,  -269,  -269,
     678  -269,  -268,   -37,   -84,  -269,  -176,  -269,  -269,  -179,  -186,
     679  -188,  -192,  -193,  -174,  -183,  -185,  -269,  -112,  -113,  -269,
     680  -122,  -269,  -269,  -145,  -144,  -137,  -141,  -269,  -146,  -148,
     681  -269,  -151,  -269,  -269,  -269,  -269,  -226,  -269,  -269,   -11,
     682  -269,  -269,  -195,  -269,  -269,  -269,  -269,  -269,   -19,   -20,
     683   -26,  -269,   -27,  -269,   -29,   -30,  -269,   -71,   -72,   -73,
     684   -74,   -75,   -76,   -77,   -78,   -79,   -80,   -81,  -269,  -269,
     685  -269,  -269,  -269,  -269,  -269,  -269,  -269,  -269,  -269,  -269,
     686  -269,  -269,  -269,  -269,  -269,  -269,  -269,  -269,  -213,  -269,
     687  -266,  -269,  -250,  -269,  -269,  -269,  -244,  -246,  -269,  -269,
     688  -269,  -269,  -269,  -269,  -261,  -262,  -269,  -263,  -175,  -177,
     689  -178,  -269,  -269,  -197,  -269,  -190,  -191,  -198,  -269,  -269,
     690  -128,  -127,  -119,  -123,  -269,  -133,  -135,  -136,  -143,  -269,
     691  -269,  -149,  -153,  -160,  -162,  -152,  -269,  -156,  -269,  -228,
     692  -267,    -9,  -269,  -196,  -197,  -269,  -269,   -14,  -269,   -23,
     693  -269,   -17,   -18,  -269,  -269,   -70,   -40,   -41,   -42,   -44,
     694   -45,   -47,   -48,   -50,   -51,   -52,   -53,   -55,   -56,   -58,
     695   -60,   -62,   -64,   -66,  -269,  -210,  -269,  -269,   -83,  -240,
     696  -269,  -242,  -269,  -269,  -269,  -269,  -269,  -269,  -260,  -264,
     697  -194,  -269,  -189,  -199,  -269,  -205,  -269,  -269,  -269,  -201,
     698  -269,  -117,  -125,  -269,  -269,  -147,  -150,  -154,  -157,  -269,
     699   -38,   -13,   -15,  -269,  -269,   -28,  -269,  -269,  -211,  -214,
     700  -212,  -241,  -269,  -269,  -269,  -269,  -269,  -269,  -269,  -200,
     701  -206,  -203,  -269,  -207,  -269,  -202,  -269,  -134,  -269,   -24,
     702   -16,   -68,  -251,  -253,  -254,  -269,  -269,  -269,  -269,  -269,
     703  -187,  -204,  -208,  -126,   -21,  -269,  -269,  -269,  -269,  -256,
     704  -269,  -258,   -22,  -252,  -255,  -257,  -259 ]
    646705
    647706racc_goto_table = [
    648     48,     4,   144,   146,    54,    57,    58,   217,    84,    12,
    649    136,   137,    78,   175,   258,   136,   273,   165,   188,   190,
    650    191,   186,    72,    89,   256,    93,   176,   163,    70,     4,
    651     33,   156,   249,    29,   283,   284,   302,    12,   152,    14,
    652    330,     2,    71,   293,   155,    89,   215,    90,    89,   287,
    653    288,   289,   290,   294,   170,   295,    97,    98,    33,    83,
    654    270,    69,    70,    70,    92,   330,   296,    14,   100,   159,
    655    102,   297,    88,   101,   136,   212,    71,    71,   285,   286,
    656    150,    61,   274,   153,   276,   158,    92,    62,   166,    92,
    657    175,   264,   175,   154,    88,   316,   163,    88,   252,   280,
    658    281,   282,    70,   279,   136,   246,   291,   292,   257,    64,
    659    164,   155,   345,   298,   155,   263,    71,    89,   180,   329,
    660    256,   211,    28,    99,    76,   143,     1,   nil,   nil,   nil,
    661    nil,   nil,   nil,   271,   215,   nil,   nil,   nil,   nil,   nil,
    662    nil,   nil,   nil,   nil,   325,   nil,   248,   nil,   nil,   nil,
    663    nil,   nil,   158,   nil,   259,   158,   nil,   320,    92,   nil,
    664    154,   nil,   nil,   154,   nil,   nil,    88,   nil,   266,   nil,
    665    136,   nil,   nil,   337,   nil,   nil,   342,   nil,   274,    70,
    666    nil,   nil,   nil,   358,   nil,   360,   136,   341,   nil,   nil,
    667    nil,   nil,   nil,    71,   nil,   nil,   371,   nil,   nil,   nil,
    668    nil,   nil,   246,   nil,   nil,   352,   nil,   nil,   nil,    78,
    669    155,   nil,   102,   nil,   nil,   nil,   nil,   353,   354,   nil,
    670    356,   357,   215,   381,   215,   nil,   nil,   271,   nil,   nil,
    671    nil,   nil,   nil,   nil,   nil,   136,   350,   nil,   nil,   nil,
    672    385,   386,   nil,   nil,   150,   nil,   150,   372,   nil,   nil,
    673    nil,   158,   nil,   nil,   393,   nil,   367,   369,   166,   154,
    674    397,   nil,   215,   nil,   nil,   nil,   nil,   nil,   nil,   136,
    675    nil,   150,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   215,
    676    215,   387,   388,   374,   nil,   nil,   nil,   nil,   nil,   nil,
    677    nil,   nil,   nil,   215,   nil,   395,   nil,   nil,   nil,   215,
     707    51,   144,   145,    81,   183,   182,   184,   281,   186,    23,
     708   267,    95,   208,    83,   206,   305,   303,   313,   328,   169,
     709    25,     4,   199,   230,    57,    60,    61,    62,    75,    89,
     710    40,    99,   168,   221,   198,    95,   296,    77,    95,   220,
     711   373,   182,   232,   234,   235,    65,    96,   207,    23,    76,
     712   304,   366,   343,   344,   345,   346,    75,    75,    90,    25,
     713     4,   194,   214,   215,    66,   104,   105,   323,   145,    74,
     714   202,   373,   196,   107,    68,   109,    94,    76,    76,   347,
     715   348,   339,   340,   183,   182,   274,   341,   342,    98,   108,
     716   195,   236,   187,    88,   209,   372,   353,   352,    75,   197,
     717    94,   152,   286,    94,   169,   359,    39,   361,   351,   106,
     718   350,   201,    98,   349,     2,    98,   303,   277,   167,    76,
     719   206,   313,   225,   313,   394,     1,   299,   nil,   nil,   183,
     720   182,   311,   183,   182,   314,   406,   407,   nil,   198,   nil,
     721   nil,   198,   nil,   nil,    95,   326,   329,   333,   109,   334,
     722   336,   337,   338,   220,   nil,   220,   nil,   nil,   335,   nil,
     723   nil,   nil,   nil,   nil,   293,   nil,   nil,   nil,   182,   182,
     724   182,   182,   182,   182,   182,   182,   182,   182,   182,   182,
     725   182,   182,   182,   182,   182,   182,   152,   295,   354,   nil,
     726   nil,   nil,   401,   358,   nil,   324,   nil,   306,   417,   nil,
     727   362,   363,   364,   197,   nil,   nil,   197,   nil,   nil,    94,
     728   nil,   nil,    75,   319,    75,   201,   nil,   nil,   201,   367,
     729   380,    98,   nil,   385,   390,   nil,   nil,   nil,   nil,   183,
     730   182,   386,   nil,    76,   422,    76,   424,   nil,   nil,   nil,
     731   nil,   198,   182,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     732   nil,   nil,   329,   418,    83,   nil,   nil,   nil,   nil,   439,
     733   nil,   441,   nil,   nil,   nil,   nil,   nil,   293,   443,   nil,
     734   445,   nil,   446,   nil,   nil,   nil,   nil,   399,   145,   nil,
     735   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     736   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   324,   412,
     737   414,   152,   183,   182,   416,   209,   197,   nil,   nil,   nil,
     738   nil,   145,   nil,   nil,   nil,   419,   421,   182,   201,   nil,
     739   nil,   nil,   nil,   nil,   nil,   nil,   nil,   425,   426,   428,
    678740   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    679741   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    680    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    681    nil,   nil,   nil,   nil,   150,   nil,   259 ]
    682 
    683 racc_goto_check = [
    684     32,    27,    25,    55,    27,    27,    27,    68,    53,    34,
    685     24,    33,    54,     6,    44,    24,     8,    49,    10,    10,
    686     10,    12,    43,    35,    41,    51,    13,    47,    30,    27,
    687     26,    38,    58,    62,    14,    14,    77,    34,    53,    36,
    688     59,     2,     9,    18,    35,    35,    10,    46,    35,    16,
    689     16,    16,    16,    19,    51,    20,    43,    43,    26,     9,
    690     58,    62,    30,    30,    27,    59,    21,    36,    32,    46,
    691     32,    22,    34,    31,    24,    33,     9,     9,    15,    15,
    692     27,    37,     6,    39,     6,    27,    27,    40,    32,    27,
    693      6,    25,     6,    34,    34,    68,    47,    34,    38,    12,
    694     12,    12,    30,    13,    24,    53,    17,    17,    42,    45,
    695     48,    35,     8,     6,    35,    52,     9,    35,     9,    57,
    696     41,    60,    61,    65,    66,    67,     1,   nil,   nil,   nil,
    697    nil,   nil,   nil,    53,    10,   nil,   nil,   nil,   nil,   nil,
    698    nil,   nil,   nil,   nil,     6,   nil,    32,   nil,   nil,   nil,
    699    nil,   nil,    27,   nil,    32,    27,   nil,    25,    27,   nil,
    700     34,   nil,   nil,    34,   nil,   nil,    34,   nil,    32,   nil,
    701     24,   nil,   nil,    25,   nil,   nil,    12,   nil,     6,    30,
    702    nil,   nil,   nil,    68,   nil,    68,    24,    49,   nil,   nil,
    703    nil,   nil,   nil,     9,   nil,   nil,    44,   nil,   nil,   nil,
    704    nil,   nil,    53,   nil,   nil,     6,   nil,   nil,   nil,    54,
    705     35,   nil,    32,   nil,   nil,   nil,   nil,     6,     6,   nil,
    706      6,     6,    10,    68,    10,   nil,   nil,    53,   nil,   nil,
    707    nil,   nil,   nil,   nil,   nil,    24,    33,   nil,   nil,   nil,
    708     68,    68,   nil,   nil,    27,   nil,    27,     6,   nil,   nil,
    709    nil,    27,   nil,   nil,    68,   nil,    25,    55,    32,    34,
    710     68,   nil,    10,   nil,   nil,   nil,   nil,   nil,   nil,    24,
    711    nil,    27,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    10,
    712     10,     6,     6,    24,   nil,   nil,   nil,   nil,   nil,   nil,
    713    nil,   nil,   nil,    10,   nil,     6,   nil,   nil,   nil,    10,
     742   nil,   nil,   nil,   nil,   nil,   423,   399,   145,   nil,   nil,
    714743   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    715744   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     745   306 ]
     746
     747racc_goto_check = [
     748    36,    37,    12,    72,    26,    13,    28,    73,    60,    38,
     749    11,    39,    55,    59,    53,    49,    46,    57,     8,    29,
     750    40,    30,    43,    15,    30,    30,    30,    30,    33,    58,
     751    68,    56,    84,    10,    39,    39,    65,    48,    39,     6,
     752    66,    13,    13,    13,    13,    42,    52,    54,    38,     9,
     753    47,    75,    18,    18,    18,    18,    33,    33,     9,    40,
     754    30,    58,    56,    56,    45,    48,    48,    65,    12,    68,
     755    52,    66,    44,    36,    51,    36,    38,     9,     9,    19,
     756    19,    16,    16,    26,    13,    28,    17,    17,    30,    35,
     757     9,    27,    61,    62,    36,    64,    24,    23,    33,    38,
     758    38,    30,     6,    38,    29,    73,    67,    73,    22,    71,
     759    21,    30,    30,    20,     2,    30,    46,    84,    83,     9,
     760    53,    57,     9,    57,     8,     1,    43,   nil,   nil,    26,
     761    13,    28,    26,    13,    28,    75,    75,   nil,    39,   nil,
     762   nil,    39,   nil,   nil,    39,     6,    12,    10,    36,    10,
     763    15,    15,    15,     6,   nil,     6,   nil,   nil,    12,   nil,
     764   nil,   nil,   nil,   nil,    58,   nil,   nil,   nil,    13,    13,
     765    13,    13,    13,    13,    13,    13,    13,    13,    13,    13,
     766    13,    13,    13,    13,    13,    13,    30,    36,     6,   nil,
     767   nil,   nil,    73,    12,   nil,    58,   nil,    36,    49,   nil,
     768     6,     6,     6,    38,   nil,   nil,    38,   nil,   nil,    38,
     769   nil,   nil,    33,    36,    33,    30,   nil,   nil,    30,    29,
     770    12,    30,   nil,    55,    15,   nil,   nil,   nil,   nil,    26,
     771    13,    28,   nil,     9,    73,     9,    73,   nil,   nil,   nil,
     772   nil,    39,    13,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     773   nil,   nil,    12,    11,    59,   nil,   nil,   nil,   nil,    73,
     774   nil,    73,   nil,   nil,   nil,   nil,   nil,    58,    73,   nil,
     775    73,   nil,    73,   nil,   nil,   nil,   nil,    37,    12,   nil,
    716776   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    717    nil,   nil,   nil,   nil,    27,   nil,    32 ]
     777   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    58,    12,
     778    60,    30,    26,    13,    28,    36,    38,   nil,   nil,   nil,
     779   nil,    12,   nil,   nil,   nil,    12,    26,    13,    30,   nil,
     780   nil,   nil,   nil,   nil,   nil,   nil,   nil,     6,     6,     6,
     781   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     782   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     783   nil,   nil,   nil,   nil,   nil,    72,    37,    12,   nil,   nil,
     784   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     785   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     786    36 ]
    718787
    719788racc_goto_pointer = [
    720    nil,   126,    41,   nil,   nil,   nil,   -97,   nil,  -163,     6,
    721    -97,   nil,   -93,   -84,  -161,  -119,  -150,   -97,  -162,  -153,
    722   -152,  -142,  -138,   nil,   -65,   -78,    28,    -1,   nil,   nil,
    723     -8,    -1,    -4,   -64,     7,   -42,    37,    59,   -55,    -2,
    724     65,  -132,   -50,   -14,  -144,    86,   -18,   -63,    18,   -75,
    725    nil,   -42,   -53,   -45,   -37,   -78,   nil,  -126,  -118,  -206,
    726    -18,   120,    31,   nil,   nil,    51,    76,    48,  -136,   nil,
    727    nil,   nil,   nil,   nil,   nil,   nil,   nil,  -179 ]
     789   nil,   125,   114,   nil,   nil,   nil,   -78,   nil,  -206,     2,
     790   -84,  -136,   -78,   -80,   nil,   -98,  -170,  -167,  -203,  -180,
     791  -148,  -152,  -155,  -167,  -169,   nil,   -81,   -40,   -79,   -63,
     792    19,   nil,   nil,   -19,   nil,    10,    -4,   -79,     7,   -58,
     793    18,   nil,    18,   -70,   -19,    37,  -183,  -151,   -10,  -186,
     794   nil,    45,   -23,   -82,   -51,   -86,   -40,  -195,   -27,   -39,
     795   -78,     6,    37,   nil,  -197,  -155,  -253,   104,    28,   nil,
     796   nil,    32,   -48,  -168,   nil,  -231,   nil,   nil,   nil,   nil,
     797   nil,   nil,   nil,    36,   -50 ]
    728798
    729799racc_goto_default = [
    730    nil,   nil,   nil,   112,   103,   109,   242,   113,   nil,     7,
    731    124,   114,   125,   nil,   126,   127,   128,   129,   130,   131,
    732    132,   133,   134,   135,   177,   138,   218,   216,    46,     5,
    733      6,    47,    82,   nil,    55,    13,    56,   nil,   nil,   nil,
    734    nil,   157,   nil,   178,   nil,   nil,   nil,    91,   nil,   nil,
    735     24,   nil,    94,    49,    50,   333,   148,   149,   331,   250,
    736    nil,   nil,   nil,    31,    32,   nil,   225,   nil,   nil,   219,
    737    220,   221,   222,   223,   224,   226,   227,   nil ]
     800   nil,   nil,   nil,   119,   110,   116,   151,   120,   nil,     7,
     801   nil,   nil,   150,   131,   121,   132,   133,   134,   135,   136,
     802   137,   138,   139,   140,   141,   142,   143,   nil,   nil,    44,
     803   191,    49,     5,     6,     8,    50,    87,   268,    58,    24,
     804    59,    27,   nil,   nil,   nil,   nil,   200,   nil,   222,   nil,
     805    29,   nil,   nil,    97,   nil,   nil,   nil,   100,    52,    53,
     806   376,   nil,   nil,   189,   190,   374,   297,   nil,   nil,    42,
     807    43,   nil,   154,   170,   153,   155,   156,   157,   158,   159,
     808   160,   161,   162,   nil,   nil ]
    738809
    739810racc_reduce_table = [
    740811  0, 0, :racc_error,
    741   1, 97, :_reduce_none,
    742   1, 99, :_reduce_2,
    743   1, 99, :_reduce_3,
    744   1, 99, :_reduce_4,
    745   1, 99, :_reduce_5,
    746   1, 99, :_reduce_6,
    747   1, 99, :_reduce_7,
    748   1, 99, :_reduce_8,
    749   3, 99, :_reduce_9,
    750   1, 101, :_reduce_10,
    751   2, 101, :_reduce_11,
    752   1, 103, :_reduce_none,
    753   4, 103, :_reduce_none,
    754   5, 103, :_reduce_none,
    755   4, 103, :_reduce_15,
    756   3, 103, :_reduce_16,
    757   3, 103, :_reduce_17,
    758   2, 103, :_reduce_18,
    759   2, 103, :_reduce_19,
    760   0, 104, :_reduce_none,
     812  1, 98, :_reduce_none,
     813  1, 100, :_reduce_2,
     814  1, 100, :_reduce_3,
     815  1, 100, :_reduce_4,
     816  1, 100, :_reduce_5,
     817  1, 100, :_reduce_6,
     818  1, 100, :_reduce_7,
     819  1, 100, :_reduce_8,
     820  3, 100, :_reduce_9,
     821  1, 102, :_reduce_10,
     822  2, 102, :_reduce_11,
    761823  1, 104, :_reduce_none,
     824  4, 104, :_reduce_13,
    762825  3, 104, :_reduce_none,
    763   1, 106, :_reduce_none,
    764   2, 106, :_reduce_24,
    765   2, 106, :_reduce_25,
    766   4, 106, :_reduce_26,
    767   2, 106, :_reduce_27,
    768   2, 106, :_reduce_28,
    769   1, 107, :_reduce_29,
    770   1, 107, :_reduce_30,
    771   1, 107, :_reduce_31,
    772   1, 107, :_reduce_32,
    773   1, 107, :_reduce_33,
    774   1, 107, :_reduce_34,
    775   1, 108, :_reduce_none,
    776   4, 108, :_reduce_36,
     826  4, 104, :_reduce_none,
     827  5, 104, :_reduce_none,
     828  3, 104, :_reduce_17,
     829  3, 104, :_reduce_18,
     830  2, 104, :_reduce_19,
     831  2, 104, :_reduce_20,
     832  6, 104, :_reduce_none,
     833  7, 104, :_reduce_none,
     834  1, 105, :_reduce_none,
     835  3, 105, :_reduce_none,
    777836  1, 110, :_reduce_none,
    778   3, 110, :_reduce_38,
    779   3, 110, :_reduce_39,
    780   3, 110, :_reduce_40,
    781   1, 111, :_reduce_none,
    782   3, 111, :_reduce_42,
    783   3, 111, :_reduce_43,
     837  2, 110, :_reduce_26,
     838  2, 110, :_reduce_27,
     839  4, 110, :_reduce_28,
     840  2, 110, :_reduce_29,
     841  2, 110, :_reduce_30,
     842  1, 111, :_reduce_31,
     843  1, 111, :_reduce_32,
     844  1, 111, :_reduce_33,
     845  1, 111, :_reduce_34,
     846  1, 111, :_reduce_35,
     847  1, 111, :_reduce_36,
    784848  1, 112, :_reduce_none,
    785   3, 112, :_reduce_45,
    786   3, 112, :_reduce_46,
     849  4, 112, :_reduce_38,
    787850  1, 113, :_reduce_none,
    788   3, 113, :_reduce_48,
    789   3, 113, :_reduce_49,
    790   3, 113, :_reduce_50,
    791   3, 113, :_reduce_51,
     851  3, 113, :_reduce_40,
     852  3, 113, :_reduce_41,
     853  3, 113, :_reduce_42,
    792854  1, 114, :_reduce_none,
    793   3, 114, :_reduce_53,
    794   3, 114, :_reduce_54,
     855  3, 114, :_reduce_44,
     856  3, 114, :_reduce_45,
    795857  1, 115, :_reduce_none,
    796   3, 115, :_reduce_56,
     858  3, 115, :_reduce_47,
     859  3, 115, :_reduce_48,
    797860  1, 116, :_reduce_none,
    798   3, 116, :_reduce_58,
     861  3, 116, :_reduce_50,
     862  3, 116, :_reduce_51,
     863  3, 116, :_reduce_52,
     864  3, 116, :_reduce_53,
    799865  1, 117, :_reduce_none,
    800   3, 117, :_reduce_60,
     866  3, 117, :_reduce_55,
     867  3, 117, :_reduce_56,
    801868  1, 118, :_reduce_none,
    802   3, 118, :_reduce_62,
     869  3, 118, :_reduce_58,
    803870  1, 119, :_reduce_none,
    804   3, 119, :_reduce_64,
     871  3, 119, :_reduce_60,
    805872  1, 120, :_reduce_none,
    806   5, 120, :_reduce_66,
    807   1, 102, :_reduce_67,
    808   1, 121, :_reduce_68,
    809   3, 122, :_reduce_none,
    810   1, 123, :_reduce_70,
     873  3, 120, :_reduce_62,
     874  1, 121, :_reduce_none,
     875  3, 121, :_reduce_64,
     876  1, 122, :_reduce_none,
     877  3, 122, :_reduce_66,
    811878  1, 123, :_reduce_none,
    812   1, 123, :_reduce_72,
    813   2, 123, :_reduce_73,
    814   2, 123, :_reduce_74,
    815   2, 123, :_reduce_75,
    816   1, 124, :_reduce_76,
    817   3, 124, :_reduce_77,
     879  5, 123, :_reduce_68,
     880  1, 109, :_reduce_none,
     881  3, 109, :_reduce_none,
     882  1, 124, :_reduce_none,
     883  1, 124, :_reduce_none,
     884  1, 124, :_reduce_none,
     885  1, 124, :_reduce_none,
     886  1, 124, :_reduce_none,
     887  1, 124, :_reduce_none,
     888  1, 124, :_reduce_none,
     889  1, 124, :_reduce_none,
     890  1, 124, :_reduce_none,
     891  1, 124, :_reduce_none,
     892  1, 124, :_reduce_none,
     893  1, 103, :_reduce_82,
     894  3, 103, :_reduce_83,
     895  1, 125, :_reduce_84,
     896  3, 126, :_reduce_none,
     897  1, 127, :_reduce_86,
     898  2, 127, :_reduce_87,
    818899  1, 127, :_reduce_none,
    819   3, 127, :_reduce_79,
    820   1, 126, :_reduce_80,
    821   1, 126, :_reduce_81,
    822   1, 126, :_reduce_82,
    823   1, 126, :_reduce_83,
    824   1, 126, :_reduce_84,
    825   1, 126, :_reduce_85,
    826   1, 126, :_reduce_86,
    827   1, 126, :_reduce_87,
    828   1, 126, :_reduce_88,
    829   1, 126, :_reduce_89,
    830   1, 126, :_reduce_90,
    831   1, 126, :_reduce_91,
    832   1, 126, :_reduce_92,
    833   1, 126, :_reduce_93,
    834   0, 135, :_reduce_94,
    835   6, 130, :_reduce_95,
    836   0, 136, :_reduce_96,
    837   5, 130, :_reduce_97,
    838   2, 130, :_reduce_98,
    839   1, 134, :_reduce_none,
    840   2, 134, :_reduce_none,
    841   1, 133, :_reduce_101,
    842   3, 137, :_reduce_102,
    843   2, 137, :_reduce_none,
    844   2, 137, :_reduce_none,
    845   1, 139, :_reduce_none,
    846   2, 139, :_reduce_106,
    847   1, 139, :_reduce_107,
    848   2, 139, :_reduce_108,
    849   1, 138, :_reduce_109,
    850   3, 138, :_reduce_110,
     900  2, 127, :_reduce_89,
     901  1, 127, :_reduce_90,
     902  2, 127, :_reduce_91,
     903  1, 127, :_reduce_none,
     904  2, 127, :_reduce_none,
     905  1, 128, :_reduce_94,
     906  3, 128, :_reduce_95,
     907  1, 132, :_reduce_none,
     908  3, 132, :_reduce_97,
     909  1, 129, :_reduce_none,
     910  1, 129, :_reduce_none,
     911  1, 129, :_reduce_none,
     912  1, 129, :_reduce_none,
     913  1, 130, :_reduce_102,
     914  1, 130, :_reduce_103,
     915  1, 130, :_reduce_104,
     916  1, 130, :_reduce_105,
     917  1, 130, :_reduce_106,
     918  1, 130, :_reduce_107,
     919  1, 130, :_reduce_108,
     920  1, 130, :_reduce_109,
     921  1, 130, :_reduce_110,
     922  1, 130, :_reduce_111,
     923  1, 130, :_reduce_112,
     924  1, 130, :_reduce_113,
     925  1, 130, :_reduce_114,
     926  1, 130, :_reduce_115,
     927  0, 141, :_reduce_116,
     928  6, 135, :_reduce_117,
     929  0, 142, :_reduce_118,
     930  5, 135, :_reduce_119,
     931  2, 135, :_reduce_120,
     932  1, 138, :_reduce_121,
    851933  1, 140, :_reduce_none,
    852   5, 131, :_reduce_none,
    853   4, 131, :_reduce_none,
    854   2, 131, :_reduce_none,
    855   1, 142, :_reduce_none,
    856   2, 142, :_reduce_none,
    857   1, 141, :_reduce_none,
    858   3, 143, :_reduce_none,
     934  2, 140, :_reduce_none,
     935  1, 139, :_reduce_124,
     936  3, 143, :_reduce_125,
     937  5, 143, :_reduce_126,
    859938  2, 143, :_reduce_none,
    860939  2, 143, :_reduce_none,
    861   1, 144, :_reduce_none,
    862   3, 144, :_reduce_none,
     940  2, 145, :_reduce_129,
    863941  1, 145, :_reduce_none,
    864   4, 132, :_reduce_none,
    865   5, 132, :_reduce_none,
    866   2, 132, :_reduce_none,
    867   1, 146, :_reduce_127,
    868   1, 147, :_reduce_none,
    869   3, 147, :_reduce_none,
     942  2, 145, :_reduce_131,
     943  1, 145, :_reduce_132,
     944  1, 144, :_reduce_133,
     945  3, 144, :_reduce_134,
     946  1, 146, :_reduce_none,
     947  5, 136, :_reduce_none,
     948  4, 136, :_reduce_none,
     949  2, 136, :_reduce_none,
     950  1, 147, :_reduce_139,
     951  1, 149, :_reduce_none,
     952  2, 149, :_reduce_none,
    870953  1, 148, :_reduce_none,
    871   3, 148, :_reduce_none,
    872   1, 105, :_reduce_132,
    873   1, 105, :_reduce_133,
    874   2, 128, :_reduce_134,
    875   1, 128, :_reduce_none,
    876   2, 128, :_reduce_136,
    877   1, 150, :_reduce_137,
    878   3, 150, :_reduce_138,
    879   4, 150, :_reduce_139,
    880   3, 150, :_reduce_140,
    881   4, 150, :_reduce_141,
    882   3, 150, :_reduce_142,
    883   1, 149, :_reduce_143,
    884   2, 149, :_reduce_144,
    885   2, 149, :_reduce_145,
    886   3, 149, :_reduce_146,
     954  3, 150, :_reduce_none,
     955  2, 150, :_reduce_none,
     956  2, 150, :_reduce_none,
    887957  1, 151, :_reduce_none,
    888   5, 151, :_reduce_none,
     958  3, 151, :_reduce_none,
    889959  1, 152, :_reduce_none,
     960  2, 152, :_reduce_none,
    890961  3, 152, :_reduce_none,
    891   2, 153, :_reduce_none,
    892   2, 153, :_reduce_none,
     962  4, 137, :_reduce_none,
     963  5, 137, :_reduce_none,
     964  5, 137, :_reduce_none,
     965  6, 137, :_reduce_none,
     966  2, 137, :_reduce_none,
     967  5, 137, :_reduce_none,
     968  6, 137, :_reduce_none,
     969  2, 137, :_reduce_none,
    893970  1, 153, :_reduce_none,
    894   1, 109, :_reduce_none,
    895   2, 109, :_reduce_none,
     971  3, 153, :_reduce_none,
    896972  1, 154, :_reduce_none,
    897   1, 154, :_reduce_none,
    898   2, 154, :_reduce_none,
    899   3, 155, :_reduce_none,
    900   2, 155, :_reduce_none,
    901   3, 155, :_reduce_none,
    902   3, 155, :_reduce_none,
    903   4, 155, :_reduce_none,
    904   2, 155, :_reduce_164,
    905   3, 155, :_reduce_none,
    906   3, 155, :_reduce_166,
    907   4, 155, :_reduce_none,
    908   1, 129, :_reduce_168,
    909   3, 129, :_reduce_169,
    910   4, 129, :_reduce_170,
    911   4, 129, :_reduce_171,
    912   1, 156, :_reduce_172,
    913   3, 156, :_reduce_173,
    914   0, 98, :_reduce_none,
    915   2, 98, :_reduce_none,
     973  3, 154, :_reduce_none,
     974  1, 106, :_reduce_163,
     975  1, 106, :_reduce_none,
     976  1, 106, :_reduce_165,
     977  1, 131, :_reduce_none,
     978  1, 131, :_reduce_none,
     979  1, 131, :_reduce_none,
     980  1, 131, :_reduce_none,
     981  2, 133, :_reduce_170,
     982  1, 133, :_reduce_none,
     983  2, 133, :_reduce_172,
     984  1, 156, :_reduce_173,
     985  3, 156, :_reduce_174,
     986  4, 156, :_reduce_175,
     987  3, 156, :_reduce_176,
     988  4, 156, :_reduce_177,
     989  4, 156, :_reduce_none,
     990  3, 156, :_reduce_179,
     991  1, 155, :_reduce_180,
     992  2, 155, :_reduce_181,
     993  2, 155, :_reduce_182,
     994  3, 155, :_reduce_183,
     995  1, 159, :_reduce_none,
     996  2, 159, :_reduce_none,
    916997  1, 157, :_reduce_none,
    917   2, 157, :_reduce_none,
     998  5, 157, :_reduce_none,
     999  1, 160, :_reduce_none,
     1000  3, 160, :_reduce_none,
     1001  2, 161, :_reduce_none,
     1002  2, 161, :_reduce_none,
     1003  1, 161, :_reduce_none,
    9181004  1, 158, :_reduce_none,
    919   1, 158, :_reduce_none,
    920   2, 158, :_reduce_none,
    921   2, 158, :_reduce_none,
    922   1, 158, :_reduce_none,
    923   1, 158, :_reduce_none,
    924   1, 158, :_reduce_none,
    925   4, 159, :_reduce_185,
    926   1, 161, :_reduce_186,
    927   3, 161, :_reduce_187,
    928   3, 160, :_reduce_none,
    929   0, 163, :_reduce_none,
     1005  3, 158, :_reduce_none,
     1006  1, 107, :_reduce_none,
     1007  2, 107, :_reduce_none,
     1008  1, 162, :_reduce_none,
     1009  1, 162, :_reduce_none,
     1010  2, 162, :_reduce_none,
     1011  3, 163, :_reduce_none,
    9301012  2, 163, :_reduce_none,
     1013  3, 163, :_reduce_none,
     1014  3, 163, :_reduce_none,
     1015  4, 163, :_reduce_none,
     1016  2, 163, :_reduce_205,
     1017  3, 163, :_reduce_none,
     1018  3, 163, :_reduce_207,
     1019  4, 163, :_reduce_none,
     1020  1, 134, :_reduce_209,
     1021  3, 134, :_reduce_210,
     1022  4, 134, :_reduce_211,
     1023  4, 134, :_reduce_212,
     1024  1, 108, :_reduce_213,
     1025  3, 108, :_reduce_214,
     1026  0, 99, :_reduce_none,
     1027  2, 99, :_reduce_none,
    9311028  1, 164, :_reduce_none,
    932   1, 164, :_reduce_none,
    933   1, 164, :_reduce_none,
    934   1, 164, :_reduce_none,
    935   1, 164, :_reduce_none,
    936   1, 164, :_reduce_none,
    937   1, 164, :_reduce_none,
    938   1, 164, :_reduce_none,
    939   1, 164, :_reduce_none,
    940   1, 164, :_reduce_none,
    941   1, 164, :_reduce_none,
    942   5, 165, :_reduce_none,
    943   7, 165, :_reduce_none,
    944   5, 166, :_reduce_none,
    945   7, 167, :_reduce_none,
    946   9, 168, :_reduce_none,
    947   5, 169, :_reduce_none,
    948   3, 170, :_reduce_none,
    949   4, 170, :_reduce_none,
    950   3, 170, :_reduce_none,
    951   3, 162, :_reduce_none,
     1029  2, 164, :_reduce_none,
     1030  1, 165, :_reduce_none,
     1031  1, 165, :_reduce_none,
     1032  2, 165, :_reduce_none,
     1033  2, 165, :_reduce_none,
     1034  1, 165, :_reduce_none,
     1035  1, 165, :_reduce_none,
     1036  1, 165, :_reduce_none,
     1037  4, 166, :_reduce_226,
     1038  1, 168, :_reduce_227,
     1039  3, 168, :_reduce_228,
     1040  3, 167, :_reduce_none,
     1041  1, 170, :_reduce_none,
     1042  1, 170, :_reduce_none,
     1043  1, 170, :_reduce_none,
     1044  1, 170, :_reduce_none,
     1045  1, 170, :_reduce_none,
     1046  1, 170, :_reduce_none,
     1047  1, 170, :_reduce_none,
     1048  1, 170, :_reduce_none,
     1049  1, 170, :_reduce_none,
     1050  1, 170, :_reduce_none,
    9521051  3, 171, :_reduce_none,
    953   2, 171, :_reduce_none,
    954   2, 171, :_reduce_none,
     1052  4, 171, :_reduce_none,
    9551053  3, 171, :_reduce_none,
    956   2, 171, :_reduce_none,
     1054  2, 169, :_reduce_none,
     1055  3, 169, :_reduce_none,
     1056  1, 180, :_reduce_none,
     1057  2, 180, :_reduce_none,
     1058  1, 181, :_reduce_none,
     1059  1, 181, :_reduce_none,
     1060  1, 172, :_reduce_none,
    9571061  2, 172, :_reduce_none,
    958   4, 172, :_reduce_none,
    959   1, 173, :_reduce_none,
    960   1, 173, :_reduce_none,
    961   1, 173, :_reduce_none,
    962   1, 173, :_reduce_none,
    963   1, 173, :_reduce_none,
    964   1, 173, :_reduce_none,
    965   1, 173, :_reduce_none,
    966   1, 173, :_reduce_none,
    967   1, 173, :_reduce_none,
    968   1, 173, :_reduce_none,
    969   1, 173, :_reduce_none,
    970   1, 125, :_reduce_none,
    971   1, 125, :_reduce_none,
    972   1, 125, :_reduce_none,
    973   1, 125, :_reduce_none,
    974   1, 125, :_reduce_none,
    975   1, 125, :_reduce_none,
    976   1, 125, :_reduce_none,
    977   1, 125, :_reduce_none,
    978   1, 100, :_reduce_238,
    979   2, 100, :_reduce_239,
    980   3, 100, :_reduce_240 ]
    981 
    982 racc_reduce_n = 241
    983 
    984 racc_shift_n = 398
     1062  5, 173, :_reduce_none,
     1063  7, 173, :_reduce_none,
     1064  5, 177, :_reduce_none,
     1065  5, 174, :_reduce_none,
     1066  7, 175, :_reduce_none,
     1067  6, 176, :_reduce_none,
     1068  7, 176, :_reduce_none,
     1069  6, 176, :_reduce_none,
     1070  7, 176, :_reduce_none,
     1071  3, 178, :_reduce_none,
     1072  2, 178, :_reduce_none,
     1073  2, 178, :_reduce_none,
     1074  2, 178, :_reduce_none,
     1075  3, 178, :_reduce_none,
     1076  1, 101, :_reduce_265,
     1077  2, 101, :_reduce_266,
     1078  3, 101, :_reduce_267,
     1079  1, 179, :_reduce_268 ]
     1080
     1081racc_reduce_n = 269
     1082
     1083racc_shift_n = 447
    9851084
    9861085racc_token_table = {
     
    10021101  "++" => 15,
    10031102  "--" => 16,
    1004   "," => 17,
    1005   :SIZEOF => 18,
    1006   "&" => 19,
    1007   "*" => 20,
    1008   "+" => 21,
    1009   "-" => 22,
    1010   "~" => 23,
    1011   "!" => 24,
    1012   "/" => 25,
    1013   "%" => 26,
    1014   "<<" => 27,
    1015   ">>" => 28,
    1016   "<" => 29,
    1017   ">" => 30,
    1018   "<=" => 31,
    1019   ">=" => 32,
    1020   "==" => 33,
    1021   "!=" => 34,
    1022   "^" => 35,
    1023   "|" => 36,
    1024   "&&" => 37,
    1025   "||" => 38,
    1026   "?" => 39,
    1027   ":" => 40,
    1028   ";" => 41,
    1029   "=" => 42,
    1030   :VOID => 43,
    1031   :FLOAT => 44,
    1032   :DOUBLE => 45,
    1033   :BOOL => 46,
    1034   :TYPE_NAME => 47,
    1035   :CHAR => 48,
    1036   :SHORT => 49,
    1037   :INT => 50,
    1038   :LONG => 51,
    1039   :SIGNED => 52,
    1040   :UNSIGNED => 53,
    1041   :STRUCT => 54,
    1042   "{" => 55,
    1043   "}" => 56,
    1044   :UNION => 57,
    1045   :ENUM => 58,
    1046   :CONST => 59,
    1047   :VOLATILE => 60,
    1048   :C_EXP => 61,
    1049   :EXTENSION => 62,
    1050   :TYPEDEF => 63,
    1051   :IF => 64,
    1052   :ELSE => 65,
    1053   :WHILE => 66,
    1054   :DO => 67,
    1055   :FOR => 68,
    1056   :SWITCH => 69,
    1057   :infunc_statment => 70,
    1058   :CASE => 71,
    1059   :DEFAULT => 72,
    1060   :GOTO => 73,
    1061   :CONTINUE => 74,
    1062   :BREAK => 75,
    1063   :RETURN => 76,
    1064   "+=" => 77,
    1065   "-=" => 78,
    1066   "*=" => 79,
    1067   "/=" => 80,
    1068   "%=" => 81,
    1069   "<<=" => 82,
    1070   ">>=" => 83,
    1071   "&=" => 84,
    1072   "|=" => 85,
    1073   "^=" => 86,
    1074   :__INLINE__ => 87,
    1075   :INLINE => 88,
    1076   :__INLINE => 89,
    1077   :CINLINE => 90,
    1078   :EXTERN => 91,
    1079   :STATIC => 92,
    1080   :AUTO => 93,
    1081   :REGISTER => 94,
    1082   "::" => 95 }
    1083 
    1084 racc_nt_base = 96
     1103  "{" => 17,
     1104  "}" => 18,
     1105  "," => 19,
     1106  :SIZEOF => 20,
     1107  "&" => 21,
     1108  "*" => 22,
     1109  "+" => 23,
     1110  "-" => 24,
     1111  "~" => 25,
     1112  "!" => 26,
     1113  "/" => 27,
     1114  "%" => 28,
     1115  "<<" => 29,
     1116  ">>" => 30,
     1117  "<" => 31,
     1118  ">" => 32,
     1119  "<=" => 33,
     1120  ">=" => 34,
     1121  "==" => 35,
     1122  "!=" => 36,
     1123  "^" => 37,
     1124  "|" => 38,
     1125  "&&" => 39,
     1126  "||" => 40,
     1127  "?" => 41,
     1128  ":" => 42,
     1129  "=" => 43,
     1130  "+=" => 44,
     1131  "-=" => 45,
     1132  "*=" => 46,
     1133  "/=" => 47,
     1134  "%=" => 48,
     1135  "<<=" => 49,
     1136  ">>=" => 50,
     1137  "&=" => 51,
     1138  "|=" => 52,
     1139  "^=" => 53,
     1140  ";" => 54,
     1141  :EXTERN => 55,
     1142  :STATIC => 56,
     1143  :AUTO => 57,
     1144  :REGISTER => 58,
     1145  :VOID => 59,
     1146  :CHAR => 60,
     1147  :SHORT => 61,
     1148  :INT => 62,
     1149  :LONG => 63,
     1150  :FLOAT => 64,
     1151  :DOUBLE => 65,
     1152  :SIGNED => 66,
     1153  :UNSIGNED => 67,
     1154  :BOOL => 68,
     1155  :TYPE_NAME => 69,
     1156  :STRUCT => 70,
     1157  :UNION => 71,
     1158  :ENUM => 72,
     1159  :CONST => 73,
     1160  :RESTRICT => 74,
     1161  :VOLATILE => 75,
     1162  :__INLINE__ => 76,
     1163  :INLINE => 77,
     1164  :__INLINE => 78,
     1165  :CINLINE => 79,
     1166  :C_EXP => 80,
     1167  :EXTENSION => 81,
     1168  :TYPEDEF => 82,
     1169  :CASE => 83,
     1170  :DEFAULT => 84,
     1171  :IF => 85,
     1172  :ELSE => 86,
     1173  :SWITCH => 87,
     1174  :WHILE => 88,
     1175  :DO => 89,
     1176  :FOR => 90,
     1177  :GOTO => 91,
     1178  :CONTINUE => 92,
     1179  :BREAK => 93,
     1180  :RETURN => 94,
     1181  "::" => 95,
     1182  :_ASM => 96 }
     1183
     1184racc_nt_base = 97
    10851185
    10861186racc_use_result_var = true
     
    11201220  "\"++\"",
    11211221  "\"--\"",
     1222  "\"{\"",
     1223  "\"}\"",
    11221224  "\",\"",
    11231225  "SIZEOF",
     
    11441246  "\"?\"",
    11451247  "\":\"",
    1146   "\";\"",
    11471248  "\"=\"",
    1148   "VOID",
    1149   "FLOAT",
    1150   "DOUBLE",
    1151   "BOOL",
    1152   "TYPE_NAME",
    1153   "CHAR",
    1154   "SHORT",
    1155   "INT",
    1156   "LONG",
    1157   "SIGNED",
    1158   "UNSIGNED",
    1159   "STRUCT",
    1160   "\"{\"",
    1161   "\"}\"",
    1162   "UNION",
    1163   "ENUM",
    1164   "CONST",
    1165   "VOLATILE",
    1166   "C_EXP",
    1167   "EXTENSION",
    1168   "TYPEDEF",
    1169   "IF",
    1170   "ELSE",
    1171   "WHILE",
    1172   "DO",
    1173   "FOR",
    1174   "SWITCH",
    1175   "infunc_statment",
    1176   "CASE",
    1177   "DEFAULT",
    1178   "GOTO",
    1179   "CONTINUE",
    1180   "BREAK",
    1181   "RETURN",
    11821249  "\"+=\"",
    11831250  "\"-=\"",
     
    11901257  "\"|=\"",
    11911258  "\"^=\"",
     1259  "\";\"",
     1260  "EXTERN",
     1261  "STATIC",
     1262  "AUTO",
     1263  "REGISTER",
     1264  "VOID",
     1265  "CHAR",
     1266  "SHORT",
     1267  "INT",
     1268  "LONG",
     1269  "FLOAT",
     1270  "DOUBLE",
     1271  "SIGNED",
     1272  "UNSIGNED",
     1273  "BOOL",
     1274  "TYPE_NAME",
     1275  "STRUCT",
     1276  "UNION",
     1277  "ENUM",
     1278  "CONST",
     1279  "RESTRICT",
     1280  "VOLATILE",
    11921281  "__INLINE__",
    11931282  "INLINE",
    11941283  "__INLINE",
    11951284  "CINLINE",
    1196   "EXTERN",
    1197   "STATIC",
    1198   "AUTO",
    1199   "REGISTER",
     1285  "C_EXP",
     1286  "EXTENSION",
     1287  "TYPEDEF",
     1288  "CASE",
     1289  "DEFAULT",
     1290  "IF",
     1291  "ELSE",
     1292  "SWITCH",
     1293  "WHILE",
     1294  "DO",
     1295  "FOR",
     1296  "GOTO",
     1297  "CONTINUE",
     1298  "BREAK",
     1299  "RETURN",
    12001300  "\"::\"",
     1301  "_ASM",
    12011302  "$start",
    12021303  "all",
     
    12071308  "expression",
    12081309  "postfix_expression",
    1209   "argument_list",
     1310  "argument_expression_list",
    12101311  "type_qualifier",
     1312  "type_name",
     1313  "initializer_list",
     1314  "assignment_expression",
    12111315  "unary_expression",
    12121316  "unary_operator",
    12131317  "cast_expression",
    1214   "type_name",
    12151318  "multiplicative_expression",
    12161319  "additive_expression",
     
    12241327  "logical_or_expression",
    12251328  "conditional_expression",
     1329  "assignment_operator",
    12261330  "constant_expression",
    12271331  "declaration",
    12281332  "declaration_specifiers",
    12291333  "init_declarator_list",
    1230   "storage_class",
     1334  "storage_class_specifier",
    12311335  "type_specifier",
     1336  "function_specifier",
    12321337  "init_declarator",
    12331338  "declarator",
     
    12361341  "union_specifier",
    12371342  "enum_specifier",
     1343  "struct_term",
    12381344  "struct_tag",
    12391345  "struct_declaration_list",
     
    12421348  "struct_declaration",
    12431349  "struct_declarator_list",
    1244   "type_specifier_qualifier_list",
     1350  "specifier_qualifier_list",
    12451351  "struct_declarator",
     1352  "union_term",
    12461353  "union_tag",
    12471354  "union_declaration_list",
     
    12491356  "union_declarator_list",
    12501357  "union_declarator",
    1251   "enum_type",
    12521358  "enumerator_list",
    12531359  "enumerator",
     
    12551361  "direct_declarator",
    12561362  "parameter_type_list",
     1363  "identifier_list",
     1364  "type_qualifier_list",
    12571365  "parameter_list",
    12581366  "parameter_declaration",
    12591367  "abstract_declarator",
    12601368  "direct_abstract_declarator",
    1261   "initializer_list",
    12621369  "extension_statement",
    1263   "statement",
     1370  "cdl_statement",
    12641371  "typedef",
    12651372  "func_def",
    12661373  "declarator_list",
    1267   "compoundstatement",
    1268   "infunc_statement_list",
    1269   "infunc_statement",
     1374  "compound_statement",
     1375  "statement",
     1376  "labeled_statement",
     1377  "expression_statement",
    12701378  "ifstatement",
    12711379  "whilestatement",
     
    12731381  "forstatement",
    12741382  "switchstatement",
    1275   "labelstatement",
    1276   "gotostatement",
    1277   "expressionstatement",
    1278   "assignment_operator" ]
     1383  "jump_statement",
     1384  "asm_statement",
     1385  "block_item_list",
     1386  "block_item" ]
    12791387
    12801388Racc_debug_parser = false
     
    12861394# reduce 1 omitted
    12871395
    1288 module_eval(<<'.,.,', 'C_parser.y.rb', 52)
     1396module_eval(<<'.,.,', 'C_parser.y.rb', 57)
    12891397  def _reduce_2(val, _values, result)
    12901398     result = [ :IDENTIFIER, val[0] ]
     
    12931401.,.,
    12941402
    1295 module_eval(<<'.,.,', 'C_parser.y.rb', 60)
     1403module_eval(<<'.,.,', 'C_parser.y.rb', 65)
    12961404  def _reduce_3(val, _values, result)
    12971405     result = [ :INTEGER_CONSTANT, val[0] ]
     
    13001408.,.,
    13011409
    1302 module_eval(<<'.,.,', 'C_parser.y.rb', 62)
     1410module_eval(<<'.,.,', 'C_parser.y.rb', 67)
    13031411  def _reduce_4(val, _values, result)
    13041412     result = [ :FLOATING_CONSTANT, val[0] ]
     
    13071415.,.,
    13081416
    1309 module_eval(<<'.,.,', 'C_parser.y.rb', 64)
     1417module_eval(<<'.,.,', 'C_parser.y.rb', 69)
    13101418  def _reduce_5(val, _values, result)
    13111419     result = [ :OCTAL_CONSTANT, val[0] ]
     
    13141422.,.,
    13151423
    1316 module_eval(<<'.,.,', 'C_parser.y.rb', 66)
     1424module_eval(<<'.,.,', 'C_parser.y.rb', 71)
    13171425  def _reduce_6(val, _values, result)
    13181426     result = [ :HEX_CONSTANT, val[0] ]
     
    13211429.,.,
    13221430
    1323 module_eval(<<'.,.,', 'C_parser.y.rb', 68)
     1431module_eval(<<'.,.,', 'C_parser.y.rb', 73)
    13241432  def _reduce_7(val, _values, result)
    13251433     result = [ :CHARACTER_LITERAL, val[0] ]
     
    13281436.,.,
    13291437
    1330 module_eval(<<'.,.,', 'C_parser.y.rb', 70)
     1438module_eval(<<'.,.,', 'C_parser.y.rb', 75)
    13311439  def _reduce_8(val, _values, result)
    13321440     result = [ :STRING_LITERAL_LIST, val[0] ]
     
    13351443.,.,
    13361444
    1337 module_eval(<<'.,.,', 'C_parser.y.rb', 72)
     1445module_eval(<<'.,.,', 'C_parser.y.rb', 77)
    13381446  def _reduce_9(val, _values, result)
    13391447     result = [ :PARENTHESES, val[1].get_elements ]
     
    13421450.,.,
    13431451
    1344 module_eval(<<'.,.,', 'C_parser.y.rb', 76)
     1452module_eval(<<'.,.,', 'C_parser.y.rb', 81)
    13451453  def _reduce_10(val, _values, result)
    13461454     result = [val[0]]
     
    13491457.,.,
    13501458
    1351 module_eval(<<'.,.,', 'C_parser.y.rb', 78)
     1459module_eval(<<'.,.,', 'C_parser.y.rb', 83)
    13521460  def _reduce_11(val, _values, result)
    13531461     result << val[1]
     
    13581466# reduce 12 omitted
    13591467
    1360 # reduce 13 omitted
     1468module_eval(<<'.,.,', 'C_parser.y.rb', 89)
     1469  def _reduce_13(val, _values, result)
     1470     result = [ :OP_SUBSC, val[0], val[2] ]
     1471    result
     1472  end
     1473.,.,
    13611474
    13621475# reduce 14 omitted
    13631476
    1364 module_eval(<<'.,.,', 'C_parser.y.rb', 86)
    1365   def _reduce_15(val, _values, result)
    1366      result = [ :OP_SUBSC, val[0], val[2] ]
    1367     result
    1368   end
    1369 .,.,
    1370 
    1371 module_eval(<<'.,.,', 'C_parser.y.rb', 88)
    1372   def _reduce_16(val, _values, result)
     1477# reduce 15 omitted
     1478
     1479# reduce 16 omitted
     1480
     1481module_eval(<<'.,.,', 'C_parser.y.rb', 94)
     1482  def _reduce_17(val, _values, result)
    13731483     result = [ :OP_DOT, val[0], val[2] ]
    13741484    result
     
    13761486.,.,
    13771487
    1378 module_eval(<<'.,.,', 'C_parser.y.rb', 90)
    1379   def _reduce_17(val, _values, result)
     1488module_eval(<<'.,.,', 'C_parser.y.rb', 96)
     1489  def _reduce_18(val, _values, result)
    13801490     result = [ :OP_REF, val[0], val[2] ]
    13811491    result
     
    13831493.,.,
    13841494
    1385 module_eval(<<'.,.,', 'C_parser.y.rb', 91)
    1386   def _reduce_18(val, _values, result)
    1387      result = val[0]
    1388     result
    1389   end
    1390 .,.,
    1391 
    1392 module_eval(<<'.,.,', 'C_parser.y.rb', 92)
     1495module_eval(<<'.,.,', 'C_parser.y.rb', 97)
    13931496  def _reduce_19(val, _values, result)
    13941497     result = val[0]
     
    13971500.,.,
    13981501
    1399 # reduce 20 omitted
     1502module_eval(<<'.,.,', 'C_parser.y.rb', 98)
     1503  def _reduce_20(val, _values, result)
     1504     result = val[0]
     1505    result
     1506  end
     1507.,.,
    14001508
    14011509# reduce 21 omitted
     
    14051513# reduce 23 omitted
    14061514
    1407 module_eval(<<'.,.,', 'C_parser.y.rb', 104)
    1408   def _reduce_24(val, _values, result)
     1515# reduce 24 omitted
     1516
     1517# reduce 25 omitted
     1518
     1519module_eval(<<'.,.,', 'C_parser.y.rb', 111)
     1520  def _reduce_26(val, _values, result)
    14091521     result = [ val[0], val[1] ]
    14101522    result
     
    14121524.,.,
    14131525
    1414 module_eval(<<'.,.,', 'C_parser.y.rb', 106)
    1415   def _reduce_25(val, _values, result)
     1526module_eval(<<'.,.,', 'C_parser.y.rb', 113)
     1527  def _reduce_27(val, _values, result)
    14161528     result = [ :OP_SIZEOF_EXPR, val[1] ]
    14171529    result
     
    14191531.,.,
    14201532
    1421 module_eval(<<'.,.,', 'C_parser.y.rb', 108)
    1422   def _reduce_26(val, _values, result)
     1533module_eval(<<'.,.,', 'C_parser.y.rb', 115)
     1534  def _reduce_28(val, _values, result)
    14231535     result = [ :OP_SIZEOF_TYPE, val[1] ]
    14241536    result
     
    14261538.,.,
    14271539
    1428 module_eval(<<'.,.,', 'C_parser.y.rb', 109)
    1429   def _reduce_27(val, _values, result)
     1540module_eval(<<'.,.,', 'C_parser.y.rb', 116)
     1541  def _reduce_29(val, _values, result)
    14301542     result = val[1]
    14311543    result
     
    14331545.,.,
    14341546
    1435 module_eval(<<'.,.,', 'C_parser.y.rb', 110)
    1436   def _reduce_28(val, _values, result)
     1547module_eval(<<'.,.,', 'C_parser.y.rb', 117)
     1548  def _reduce_30(val, _values, result)
    14371549     result = val[1]
    14381550    result
     
    14401552.,.,
    14411553
    1442 module_eval(<<'.,.,', 'C_parser.y.rb', 113)
    1443   def _reduce_29(val, _values, result)
     1554module_eval(<<'.,.,', 'C_parser.y.rb', 120)
     1555  def _reduce_31(val, _values, result)
    14441556     result = :OP_U_AMP
    14451557    result
     
    14471559.,.,
    14481560
    1449 module_eval(<<'.,.,', 'C_parser.y.rb', 114)
    1450   def _reduce_30(val, _values, result)
     1561module_eval(<<'.,.,', 'C_parser.y.rb', 121)
     1562  def _reduce_32(val, _values, result)
    14511563     result = :OP_U_ASTER
    14521564    result
     
    14541566.,.,
    14551567
    1456 module_eval(<<'.,.,', 'C_parser.y.rb', 115)
    1457   def _reduce_31(val, _values, result)
     1568module_eval(<<'.,.,', 'C_parser.y.rb', 122)
     1569  def _reduce_33(val, _values, result)
    14581570     result = :OP_U_PLUS
    14591571    result
     
    14611573.,.,
    14621574
    1463 module_eval(<<'.,.,', 'C_parser.y.rb', 116)
    1464   def _reduce_32(val, _values, result)
     1575module_eval(<<'.,.,', 'C_parser.y.rb', 123)
     1576  def _reduce_34(val, _values, result)
    14651577     result = :OP_U_MINUS
    14661578    result
     
    14681580.,.,
    14691581
    1470 module_eval(<<'.,.,', 'C_parser.y.rb', 117)
    1471   def _reduce_33(val, _values, result)
     1582module_eval(<<'.,.,', 'C_parser.y.rb', 124)
     1583  def _reduce_35(val, _values, result)
    14721584     result = :OP_U_TILDE
    14731585    result
     
    14751587.,.,
    14761588
    1477 module_eval(<<'.,.,', 'C_parser.y.rb', 118)
    1478   def _reduce_34(val, _values, result)
     1589module_eval(<<'.,.,', 'C_parser.y.rb', 125)
     1590  def _reduce_36(val, _values, result)
    14791591     result = :OP_U_EXCLAM
    14801592    result
     
    14821594.,.,
    14831595
    1484 # reduce 35 omitted
    1485 
    1486 module_eval(<<'.,.,', 'C_parser.y.rb', 123)
    1487   def _reduce_36(val, _values, result)
     1596# reduce 37 omitted
     1597
     1598module_eval(<<'.,.,', 'C_parser.y.rb', 130)
     1599  def _reduce_38(val, _values, result)
    14881600      result = [ :CAST, val[1], val[3] ]
    14891601    result
     
    14911603.,.,
    14921604
    1493 # reduce 37 omitted
    1494 
    1495 module_eval(<<'.,.,', 'C_parser.y.rb', 128)
    1496   def _reduce_38(val, _values, result)
     1605# reduce 39 omitted
     1606
     1607module_eval(<<'.,.,', 'C_parser.y.rb', 135)
     1608  def _reduce_40(val, _values, result)
    14971609     result = [ :OP_MULT, val[0], val[2] ] 
    14981610    result
     
    15001612.,.,
    15011613
    1502 module_eval(<<'.,.,', 'C_parser.y.rb', 130)
    1503   def _reduce_39(val, _values, result)
     1614module_eval(<<'.,.,', 'C_parser.y.rb', 137)
     1615  def _reduce_41(val, _values, result)
    15041616     result = [ :OP_DIV, val[0], val[2] ] 
    15051617    result
     
    15071619.,.,
    15081620
    1509 module_eval(<<'.,.,', 'C_parser.y.rb', 132)
    1510   def _reduce_40(val, _values, result)
     1621module_eval(<<'.,.,', 'C_parser.y.rb', 139)
     1622  def _reduce_42(val, _values, result)
    15111623     result = [ :OP_REMAIN, val[0], val[2] ] 
    15121624    result
     
    15141626.,.,
    15151627
    1516 # reduce 41 omitted
    1517 
    1518 module_eval(<<'.,.,', 'C_parser.y.rb', 137)
    1519   def _reduce_42(val, _values, result)
     1628# reduce 43 omitted
     1629
     1630module_eval(<<'.,.,', 'C_parser.y.rb', 144)
     1631  def _reduce_44(val, _values, result)
    15201632     result = [ :OP_ADD, val[0], val[2] ] 
    15211633    result
     
    15231635.,.,
    15241636
    1525 module_eval(<<'.,.,', 'C_parser.y.rb', 139)
    1526   def _reduce_43(val, _values, result)
     1637module_eval(<<'.,.,', 'C_parser.y.rb', 146)
     1638  def _reduce_45(val, _values, result)
    15271639     result = [ :OP_SUB, val[0], val[2] ] 
    15281640    result
     
    15301642.,.,
    15311643
    1532 # reduce 44 omitted
    1533 
    1534 module_eval(<<'.,.,', 'C_parser.y.rb', 144)
    1535   def _reduce_45(val, _values, result)
     1644# reduce 46 omitted
     1645
     1646module_eval(<<'.,.,', 'C_parser.y.rb', 151)
     1647  def _reduce_47(val, _values, result)
    15361648     result = [ :OP_LSFT, val[0], val[2] ] 
    15371649    result
     
    15391651.,.,
    15401652
    1541 module_eval(<<'.,.,', 'C_parser.y.rb', 146)
    1542   def _reduce_46(val, _values, result)
     1653module_eval(<<'.,.,', 'C_parser.y.rb', 153)
     1654  def _reduce_48(val, _values, result)
    15431655     result = [ :OP_RSFT, val[0], val[2] ] 
    15441656    result
     
    15461658.,.,
    15471659
    1548 # reduce 47 omitted
    1549 
    1550 module_eval(<<'.,.,', 'C_parser.y.rb', 151)
    1551   def _reduce_48(val, _values, result)
     1660# reduce 49 omitted
     1661
     1662module_eval(<<'.,.,', 'C_parser.y.rb', 158)
     1663  def _reduce_50(val, _values, result)
    15521664     result = [ :OP_LT, val[0], val[2] ] 
    15531665    result
     
    15551667.,.,
    15561668
    1557 module_eval(<<'.,.,', 'C_parser.y.rb', 153)
    1558   def _reduce_49(val, _values, result)
     1669module_eval(<<'.,.,', 'C_parser.y.rb', 160)
     1670  def _reduce_51(val, _values, result)
    15591671     result = [ :OP_GT, val[0], val[2] ] 
    15601672    result
     
    15621674.,.,
    15631675
    1564 module_eval(<<'.,.,', 'C_parser.y.rb', 155)
    1565   def _reduce_50(val, _values, result)
     1676module_eval(<<'.,.,', 'C_parser.y.rb', 162)
     1677  def _reduce_52(val, _values, result)
    15661678     result = [ :OP_LE, val[0], val[2] ] 
    15671679    result
     
    15691681.,.,
    15701682
    1571 module_eval(<<'.,.,', 'C_parser.y.rb', 157)
    1572   def _reduce_51(val, _values, result)
     1683module_eval(<<'.,.,', 'C_parser.y.rb', 164)
     1684  def _reduce_53(val, _values, result)
    15731685     result = [ :OP_GE, val[0], val[2] ] 
    15741686    result
     
    15761688.,.,
    15771689
    1578 # reduce 52 omitted
    1579 
    1580 module_eval(<<'.,.,', 'C_parser.y.rb', 162)
    1581   def _reduce_53(val, _values, result)
     1690# reduce 54 omitted
     1691
     1692module_eval(<<'.,.,', 'C_parser.y.rb', 169)
     1693  def _reduce_55(val, _values, result)
    15821694     result = [ :OP_EQ, val[0], val[2] ] 
    15831695    result
     
    15851697.,.,
    15861698
    1587 module_eval(<<'.,.,', 'C_parser.y.rb', 164)
    1588   def _reduce_54(val, _values, result)
     1699module_eval(<<'.,.,', 'C_parser.y.rb', 171)
     1700  def _reduce_56(val, _values, result)
    15891701     result = [ :OP_NE, val[0], val[2] ] 
    15901702    result
     
    15921704.,.,
    15931705
    1594 # reduce 55 omitted
    1595 
    1596 module_eval(<<'.,.,', 'C_parser.y.rb', 169)
    1597   def _reduce_56(val, _values, result)
     1706# reduce 57 omitted
     1707
     1708module_eval(<<'.,.,', 'C_parser.y.rb', 176)
     1709  def _reduce_58(val, _values, result)
    15981710     result = [ :OP_AND, val[0], val[2] ] 
    15991711    result
     
    16011713.,.,
    16021714
    1603 # reduce 57 omitted
    1604 
    1605 module_eval(<<'.,.,', 'C_parser.y.rb', 174)
    1606   def _reduce_58(val, _values, result)
     1715# reduce 59 omitted
     1716
     1717module_eval(<<'.,.,', 'C_parser.y.rb', 181)
     1718  def _reduce_60(val, _values, result)
    16071719     result = [ :OP_EOR, val[0], val[2] ] 
    16081720    result
     
    16101722.,.,
    16111723
    1612 # reduce 59 omitted
    1613 
    1614 module_eval(<<'.,.,', 'C_parser.y.rb', 179)
    1615   def _reduce_60(val, _values, result)
     1724# reduce 61 omitted
     1725
     1726module_eval(<<'.,.,', 'C_parser.y.rb', 186)
     1727  def _reduce_62(val, _values, result)
    16161728     result = [ :OP_OR, val[0], val[2] ] 
    16171729    result
     
    16191731.,.,
    16201732
    1621 # reduce 61 omitted
    1622 
    1623 module_eval(<<'.,.,', 'C_parser.y.rb', 184)
    1624   def _reduce_62(val, _values, result)
     1733# reduce 63 omitted
     1734
     1735module_eval(<<'.,.,', 'C_parser.y.rb', 191)
     1736  def _reduce_64(val, _values, result)
    16251737     result = [ :OP_LAND, val[0], val[2] ] 
    16261738    result
     
    16281740.,.,
    16291741
    1630 # reduce 63 omitted
    1631 
    1632 module_eval(<<'.,.,', 'C_parser.y.rb', 189)
    1633   def _reduce_64(val, _values, result)
     1742# reduce 65 omitted
     1743
     1744module_eval(<<'.,.,', 'C_parser.y.rb', 196)
     1745  def _reduce_66(val, _values, result)
    16341746     result = [ :OP_LOR, val[0], val[2] ] 
    16351747    result
     
    16371749.,.,
    16381750
    1639 # reduce 65 omitted
    1640 
    1641 module_eval(<<'.,.,', 'C_parser.y.rb', 194)
    1642   def _reduce_66(val, _values, result)
     1751# reduce 67 omitted
     1752
     1753module_eval(<<'.,.,', 'C_parser.y.rb', 201)
     1754  def _reduce_68(val, _values, result)
    16431755     result = [ :OP_CEX, val[0], val[2].get_elements, val[4] ] 
    16441756    result
     
    16461758.,.,
    16471759