亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? rtl.h

?? c-smile 一個(gè)語(yǔ)法類似與JS 又有點(diǎn)像C++的 編譯器
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*
*
* rtl.h
*
* Copyright (c) 2001, 2002
* Andrew Fedoniouk - andrew@terra-informatica.org
* Portions: Serge Kuznetsov -  kuznetsov@deeptown.org
*
* See the file "COPYING" for information on usage 
* and redistribution of this file
*
*/
#ifndef __rtl_h
#define __rtl_h

#include "c-smile.h"
#include "vm.h"
#include "tool.h"
#include "streams.h"

namespace c_smile
{
#define argcount(n,cnt)  { if ( (n ) != ( cnt ) ) VM::wrongcnt ( n, cnt ); }
#define _this_  argv [-1]
#define chktype(o,t)  { if ( argv [ o ].v_type != t ) badtype ( argv [ o ], t ); }

  char *  nameoftype ( int type );
  void    badtype ( VALUE& vl, int type ); // badtype - report a bad operand type

  void    error_parameters ();
  void    error_read_only ();
  void    error_type ( CLASS *cls );

  string  format ( const char *fmt, int argc, VALUE *argv );

  class ARRAY_CLASS: public CLASS
  {
  public:
    ARRAY_CLASS ( PACKAGE* package ) : CLASS ( "array", 0, package  )
    {
      add_function ( "toString", tostring );
      add_function ( "[]",       item     );
      add_function ( "array",    ctor     );
      add_property ( "length",   length   );
      add_function ( "push",     push     );
      add_function ( "pop",      pop      );
      add_function ( "sort",     sort     );
      add_function ( "slice",    slice    );
      add_function ( "concat",   concat   );
      add_function ( "shift",    shift    );
      add_function ( "unshift",  unshift  );
      add_function ( "clear",    clear    );
      add_static_function ( "[", literal  );
      add_function ( "remove",   remove   );
    }

    static VALUE ctor     ( int argc, VALUE *argv );
    static VALUE length   ( int argc, VALUE *argv );
    static VALUE push     ( int argc, VALUE *argv );
    static VALUE pop      ( int argc, VALUE *argv );
    static VALUE sort     ( int argc, VALUE *argv );
    static VALUE slice    ( int argc, VALUE *argv );
    static VALUE concat   ( int argc, VALUE *argv );
    static VALUE shift    ( int argc, VALUE *argv );
    static VALUE unshift  ( int argc, VALUE *argv );
    static VALUE tostring ( int argc, VALUE *argv );
    static VALUE item     ( int argc, VALUE *argv );
    static VALUE literal  ( int argc, VALUE *argv );
    static VALUE clear    ( int argc, VALUE *argv );
    static VALUE remove   ( int argc, VALUE *argv );

  };

  class STRING_CLASS: public CLASS
  {
  public:
    STRING_CLASS ( PACKAGE* package ) : CLASS ( "string", 0, package  )
    {
      add_function ( "toString", tostring );
      add_function ( "string",   ctor     );
      add_property ( "length",   length   );
      add_function ( "substr",   substr   );
      add_function ( "slice",    slice    );
      add_function ( "to_lower", tolcase  );
      add_function ( "to_upper", toucase  );
      add_function ( "like",     like     );
      add_function ( "match",    match    );
      add_function ( "[]",       item     );
      add_function ( "clear",    clear    );
      add_function ( "split",    split    );
      add_function ( "trim",     trim     );
      add_function ( "replace",  replace  );
      add_static_function ( "printf", printf );
      add_static_function ( "cast", cast  );
    }

    static VALUE ctor     ( int argc, VALUE *argv );
    static VALUE length   ( int argc, VALUE *argv );
    static VALUE tostring ( int argc, VALUE *argv );
    static VALUE substr   ( int argc, VALUE *argv );
    static VALUE slice    ( int argc, VALUE *argv );
    static VALUE tolcase  ( int argc, VALUE *argv );
    static VALUE toucase  ( int argc, VALUE *argv );
    static VALUE like     ( int argc, VALUE *argv );
    static VALUE match    ( int argc, VALUE *argv );
    static VALUE item     ( int argc, VALUE *argv );
    static VALUE clear    ( int argc, VALUE *argv );
    static VALUE printf   ( int argc, VALUE *argv );
    static VALUE split    ( int argc, VALUE *argv );
    static VALUE cast     ( int argc, VALUE *argv );
    static VALUE trim     ( int argc, VALUE *argv );
    static VALUE replace  ( int argc, VALUE *argv );

  };

  class DATE: public CLASS
  {
  public:

    class  INSTANCE : public THING
    {
    public:
      date_time _dt;

      INSTANCE ()
      {
      }

      ~INSTANCE ()
      {
      }

      CLASS *
        get_class ()
      {
        return klass;
      }

      virtual size_t
        allocated_size ()
      {
        return sizeof ( INSTANCE );
      }

      static CLASS * klass;
    };


    DATE ( PACKAGE* package ) : CLASS ( "date", 0, package )
    {
      add_function ( "toString",     tostring    );
      add_function ( "date",         ctor        );
      add_property ( "day",          day         );
      add_property ( "month",        month       );
      add_property ( "year",         year        );
      add_property ( "day_of_week",  day_of_week );
      add_property ( "day_of_year",  day_of_year );
      add_property ( "hours",        hours       );
      add_property ( "minutes",      minutes     );
      add_property ( "seconds",      seconds     );
      add_property ( "time",         abstime     );
      add_static_function ( "cast",  cast        );
      add_function ( "format",       format      );
      add_property ( "is_leap_year", is_leap     );

      INSTANCE::klass = this;
    }

    static VALUE ctor        ( int argc, VALUE *argv );
    static VALUE tostring    ( int argc, VALUE *argv );
    static VALUE day         ( int argc, VALUE *argv );
    static VALUE month       ( int argc, VALUE *argv );
    static VALUE year        ( int argc, VALUE *argv );
    static VALUE day_of_week ( int argc, VALUE *argv );
    static VALUE day_of_year ( int argc, VALUE *argv );
    static VALUE hours       ( int argc, VALUE *argv );
    static VALUE minutes     ( int argc, VALUE *argv );
    static VALUE is_leap     ( int argc, VALUE *argv );
    static VALUE seconds     ( int argc, VALUE *argv );
    static VALUE abstime     ( int argc, VALUE *argv );
    static VALUE cast        ( int argc, VALUE *argv );
    static VALUE format      ( int argc, VALUE *argv );

  };

  class MAP: public CLASS
  {
  public:
    class  INSTANCE : public THING
    {
    public:
      dictionary<VALUE, VALUE> _map;

      INSTANCE  ()
      {
      }

      ~INSTANCE  ()
      {
      }

      CLASS *
        get_class ()
      {
        return klass;
      }

      virtual void mark ();

      virtual size_t
        allocated_size ()
      {
        return sizeof ( INSTANCE );
      }

      static CLASS * klass;
    };

    MAP ( PACKAGE* package ) : CLASS ( "map", 0, package  )
    {
      add_function ( "toString", tostring );
      add_function ( "map",      ctor     );
      add_function ( "add",      add      );
      add_function ( "exist",    exist    );
      add_function ( "[]",       item     );
      add_function ( "remove",   remove   );
      add_function ( "clear",    clear    );
      add_property ( "length",   length   );
      add_static_function ( "{", literal  );
      add_function ( "key",      key      );
      add_function ( "value",    value    );
      INSTANCE::klass = this;
    }

    static VALUE    ctor     ( int argc, VALUE *argv );
    static VALUE    tostring ( int argc, VALUE *argv );
    static VALUE    add      ( int argc, VALUE *argv );
    static VALUE    exist    ( int argc, VALUE *argv );
    static VALUE    item     ( int argc, VALUE *argv );
    static VALUE    remove   ( int argc, VALUE *argv );
    static VALUE    clear    ( int argc, VALUE *argv );
    static VALUE    length   ( int argc, VALUE *argv );
    static VALUE    literal  ( int argc, VALUE *argv );
    static VALUE    key      ( int argc, VALUE *argv );
    static VALUE    value    ( int argc, VALUE *argv );

    virtual THING * load     ( archive *arc );
    virtual bool    save     ( THING *me, archive *arc );

  };


#define MAX_STRING_BUFFER 0x7FFF

  class STREAM: public CLASS
  {
  public:
    class  INSTANCE : public THING
    {
    public:
      THING *     base; // base object: string, file, socket
      io_stream * ios;
      int         last_match_arg; // index of arg in get ( arg0, arg1, arg2, ... )
      bool        is_eof;
      string      buf;

      virtual void
        mark ()
      {
        THING::mark ();
        mark_thing ( base );
      }

      INSTANCE ( io_stream * srcs, THING * src = 0 ) : base ( src ),
                                                       ios ( srcs ),
                                                       last_match_arg ( -1 )

      {
        is_eof = ( srcs == 0 );
      }

      ~INSTANCE  ()
      {
        if ( ios )
          ios->close ();
        delete ios;
        ios = 0;
      }

      CLASS *
        get_class ()
      {
        return klass;
      }

      virtual size_t
        allocated_size  ()
      {
        return sizeof ( INSTANCE );
      }

      bool get ( char &c );
      void unget ( char c );

      static CLASS * klass;
    };

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av综合一区| 亚洲欧美怡红院| 欧美成人女星排行榜| 欧美疯狂做受xxxx富婆| 欧美日韩电影一区| 91精品国产综合久久久久久久| 欧美日韩日日骚| 7777精品伊人久久久大香线蕉完整版| 91国内精品野花午夜精品| 欧美婷婷六月丁香综合色| 欧美日韩激情一区| 欧美一区二区免费| 久久亚洲精精品中文字幕早川悠里| 久久综合五月天婷婷伊人| 久久久久久久久久久久久女国产乱| 欧美精品一区二区在线播放| 国产欧美视频一区二区| 国产精品国产三级国产普通话蜜臀| 国产精品第五页| 亚洲午夜影视影院在线观看| 青青草成人在线观看| 韩国欧美一区二区| av亚洲产国偷v产偷v自拍| 欧洲精品在线观看| 欧美一区日本一区韩国一区| 久久久久久亚洲综合影院红桃| 亚洲国产精品二十页| 亚洲激情六月丁香| 日日摸夜夜添夜夜添亚洲女人| 极品少妇xxxx精品少妇| 91影院在线免费观看| 欧美日韩国产高清一区二区| 欧美精品一区二区三区蜜桃| 综合久久久久久| 亚洲电影一级黄| 国产精品一区二区三区四区| 色www精品视频在线观看| 欧美一区二区视频网站| 久久精品视频在线看| 亚洲欧美一区二区三区孕妇| 日欧美一区二区| 粉嫩蜜臀av国产精品网站| 在线中文字幕一区| 精品av久久707| 亚洲精品视频一区| 九色porny丨国产精品| 色综合久久久网| 日韩欧美专区在线| 亚洲欧美另类久久久精品2019| 蜜桃久久久久久| av一区二区三区四区| 欧美成人三级电影在线| 亚洲精品国产a久久久久久| 黄一区二区三区| 91福利国产精品| 日本一区二区电影| 美女精品一区二区| 色婷婷狠狠综合| 国产亚洲婷婷免费| 日韩和的一区二区| www.66久久| 久久综合网色—综合色88| 亚洲风情在线资源站| 成人免费毛片app| 欧美一区二区三区系列电影| 亚洲免费看黄网站| 国产在线国偷精品免费看| 欧美日韩中字一区| 国产精品久久久久影视| 美女视频黄免费的久久 | 欧美日韩日日夜夜| 欧美一二三区在线观看| 中文字幕第一区第二区| 免费一级欧美片在线观看| 欧美在线小视频| 国产精品电影院| 国产福利一区在线| 精品美女在线播放| 日本成人超碰在线观看| 色婷婷亚洲婷婷| 中文字幕一区二区三区色视频| 韩国欧美国产1区| 欧美成人免费网站| 美国十次综合导航| 欧美一区2区视频在线观看| 亚洲一区二区三区爽爽爽爽爽| thepron国产精品| 国产日韩欧美亚洲| 夫妻av一区二区| 国产午夜精品美女毛片视频| 久久超碰97人人做人人爱| 在线电影院国产精品| 亚洲成a人在线观看| 欧美中文字幕久久| 亚洲国产成人高清精品| 欧美日韩一级二级| 亚洲一区二区影院| 欧美区在线观看| 日韩国产在线观看一区| 69堂成人精品免费视频| 日本欧美一区二区三区乱码| 欧美一区二区三区系列电影| 免费看日韩a级影片| 日韩精品一区二区三区视频在线观看| 秋霞午夜av一区二区三区| 91精品国产免费| 免费成人美女在线观看| 日韩欧美综合在线| 国产一区二区0| 中文字幕精品在线不卡| av高清不卡在线| 亚洲蜜桃精久久久久久久| 色欧美乱欧美15图片| 亚洲国产日产av| 91精品国产综合久久久蜜臀图片| 麻豆成人免费电影| 久久久久国产精品麻豆ai换脸 | 日本一区二区成人在线| 成人精品国产一区二区4080| 中文字幕一区二区5566日韩| 一本久道久久综合中文字幕 | 在线观看欧美日本| 天天操天天干天天综合网| 91精品国产综合久久精品麻豆| 麻豆精品新av中文字幕| 国产日韩在线不卡| 91国偷自产一区二区开放时间 | 99国产麻豆精品| 亚洲综合在线五月| 91精品国产色综合久久ai换脸| 理论电影国产精品| 欧美国产日韩精品免费观看| 欧美在线色视频| 黄色成人免费在线| 亚洲美女视频在线| 日韩一级黄色片| 成人av网址在线| 日韩在线播放一区二区| 2021中文字幕一区亚洲| 色综合天天综合网天天狠天天| 偷拍与自拍一区| 久久久久久久久岛国免费| 972aa.com艺术欧美| 日韩电影在线观看一区| 日本一区二区综合亚洲| 欧美日韩精品一区二区| 国产精品一区二区视频| 亚洲国产人成综合网站| 久久久久久久久久久久久女国产乱 | 天堂午夜影视日韩欧美一区二区| 久久综合九色综合97婷婷女人| 91麻豆高清视频| 精品无人码麻豆乱码1区2区| 一区二区在线观看视频| 精品国产成人系列| 欧美中文字幕一区二区三区亚洲| 精品在线免费观看| 一区二区三区四区激情| 国产欧美日韩激情| 欧美一区二区三区日韩视频| 91在线视频网址| 激情深爱一区二区| 亚洲高清免费一级二级三级| 国产精品人成在线观看免费| 日韩久久久久久| 在线观看亚洲a| 成人激情电影免费在线观看| 久久精品久久精品| 亚洲国产人成综合网站| 亚洲欧洲日韩综合一区二区| 精品国产污网站| 欧美三级电影在线看| 成人成人成人在线视频| 国产又黄又大久久| 免费在线观看不卡| 亚洲国产精品麻豆| 亚洲视频精选在线| 国产精品丝袜在线| 欧美精品一区二区不卡 | 综合亚洲深深色噜噜狠狠网站| 精品成人私密视频| 欧美一区二区视频网站| 欧美日韩亚洲综合在线| 色婷婷综合中文久久一本| k8久久久一区二区三区| 国产激情一区二区三区桃花岛亚洲| 另类小说一区二区三区| 天堂成人免费av电影一区| 亚洲国产精品欧美一二99| 亚洲精品第1页| 亚洲人妖av一区二区| 国产精品久久久久久久久晋中 | 韩国成人在线视频| 麻豆精品一二三| 久久精品99国产精品日本| 日本不卡一二三| 美女视频网站久久| 久久精品国产在热久久| 精品午夜久久福利影院| 国内精品久久久久影院薰衣草|