1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        bicA C interpreter and API explorer.

        聯(lián)合創(chuàng)作 · 2023-10-02 02:25

        bic: A C interpreter and API explorer

        https://travis-ci.org/hexagonal-sun/bic.svg?branch=master

        This a project that allows developers to explore and test C-APIs using a read eval print loop, also known as a REPL.

        Dependencies

        BIC’s run-time dependencies are as follows:

        To build BIC, you’ll need:

        Please ensure you have these installed before building bic. The following command should install these on a Debian/Ubuntu system:

        apt-get install build-essential libreadline-dev autoconf-archive libgmp-dev expect flex bison automake m4 libtool pkg-config
        

        You can also use the following command to install the required dependencies via Homebrew on a MacOS system.

        brew install bison flex gmp readline autoconf-archive
        

        Installation

        You can compile and install bic with the following commands:

        autoreconf -i
        ./configure --enable-debug
        make
        make install
        

        For building on a MacOS system, you need to change the configure line to:

        YACC="$(brew --prefix bison)/bin/bison -y" ./configure --enable-debug
        

        Docker

        You can use docker to build and run bic with the following command:

        docker build -t bic https://github.com/hexagonal-sun/bic.git#master
        

        Once the image is build you can then run bic with:

        docker run -i bic
        

        Arch Linux

        If you are using Arch Linux, you can install bic from AUR:

        yay -S bic
        

        Usage

        REPL

        When invoking bic with no arguments the user is presented with a REPL prompt:

        BIC>
        

        Here you can type C statements and #include various system headers to provide access to different APIs on the system. Statements can be entered directly into the REPL; there is no need to define a function for them to be evaluated. Say we wish to execute the following C program:

        #include <stdio.h>
        
        int main()
        {
            FILE *f = fopen("out.txt", "w");
            fputs("Hello, world!\n", f);
            return 0;
        }

        We can do this on the REPL with BIC using the following commands:

        BIC> #include <stdio.h>
        BIC> FILE *f;
        f
        BIC> f = fopen("test.txt", "w");
        BIC> fputs("Hello, World!\n", f);
        1
        BIC>
        

        This will cause bic to call out to the C-library fopen() and fputs() functions to create a file and write the hello world string into it. If you now exit bic, you should see a file test.txt in the current working directory with the string Hello, World\n contained within it.

        Notice that after evaluating an expression bic will print the result of evaluation. This can be useful for testing out simple expressions:

        BIC> 2 * 8 + fileno(f);
        19
        

        The Inspector

        You can use bic to obtain information about any variable or type that has been declared by prefixing it’s name with a ?. This special syntax only works in the REPL but will allow you to obtain various characteristics about types and variables. For example:

        BIC> #include <stdio.h>
        BIC> ?stdout
        stdout is a pointer to a struct _IO_FILE.
        value of stdout is 0x7ff1325bc5c0.
        sizeof(stdout) = 8 bytes.
        stdout was declared at: /usr/include/stdio.h:138.
        

        Startup Files

        When the REPL starts, bic will see if ~/.bic exists. If it does it is automatically evaluated and the resulting enviroment is used by the REPL. This can be useful for defining functions or varibles that are commonly used. For instance, say our ~/.bic file contains:

        #include <stdio.h>
        
        int increment(int a)
        {
            return a + 1;
        }
        
        puts("Good morning, Dave.");

        When we launch the REPL we get:

        $ bic
        Good morning, Dave.
        BIC> increment(2);
        3
        

        Evaluating Files

        If you pass bic a source file, along with -s, as a command line argument it will evaluate it, by calling a main() function. For example, suppose we have the file test.c that contains the following:

        #include <stdio.h>
        
        int factorial(int n)
        {
          if (!n)
          {
            return 1;
          }
        
          return n * factorial(n - 1);
        }
        
        int main()
        {
          printf("Factorial of 4 is: %d\n", factorial(4));
        
          return 0;
        }

        We can then invoke bic with -s test.c to evaluate it:

        $ bic -s test.c
        Factorial of 4 is: 24
        

        Passing Arguments

        If you wish to pass arguments to a C file, append them to bic’s command line. Once bic has processed the -s argument all other arguments are treated as parameters to be passed to the program. These parameters are created as argc and argv variables and passed to main(). The value of argv[0] is the name of the C file that bic is executing. Consider the following C program:

        #include <stdio.h>
        
        int main(int argc, char *argv[])
        {
            for (int i = 0; i < argc; i++)
                printf("argv[%d] = %s\n", i, argv[i]);
        
            return 0;
        }

        If we don’t pass any arguments:

        $ bic -s test.c
        argv[0] = test.c
        

        Whereas if we invoke bic with more arguments, they are passed to the program:

        $ bic -s test.c -a foo -s bar a b c
        argv[0] = test.c
        argv[1] = -a
        argv[2] = foo
        argv[3] = -s
        argv[4] = bar
        argv[5] = a
        argv[6] = b
        argv[7] = c
        

        Dropping Into a REPL

        You can also use a special expression: <REPL>; in your source code to make bic drop you into the repl at a particular point in the file evaluation:

        Exploring external libraries with the REPL

        You can use bic to explore the APIs of other libraries other than libc. Let’s suppose we wish to explore the Capstone library, we pass in a -l option to make bic load that library when it starts. For example:

        Notice that when bic prints a compound data type (a struct or a union), it shows all member names and their corresponding values.

        Implementation Overview

        Tree Objects

        At the heart of bic’s implementation is the tree object. These are generic objects that can be used to represent an entire program as well as the current evaluator state. It is implemented in tree.h and tree.c. Each tree type is defined in c.lang. The c.lang file is a lisp-like specification of:

        • Object name, for example T_ADD.
        • A human readable name, such as Addition.
        • A property name prefix, such as tADD.
        • A list of properties for this type, such as LHS and RHS.

        The code to create an object with the above set of attributes would be:

        (deftype T_ADD "Addition" "tADD"
                 ("LHS" "RHS"))

        Once defined, we can use this object in our C code in the following way:

        tree make_increment(tree number)
        {
            tree add = tree_make(T_ADD);
        
            tADD_LHS(add) = number;
            tADD_RHS(add) = tree_make_const_int(1);
        
            return add;
        }

        Notice that a set of accessor macros, tADD_LHS() and tADD_RHS(), have been generated for us to access the different property slots. When --enable-debug is set during compilation each one of these macros expands to a check to ensure that when setting the tADD_LHS property of an object that the object is indeed an instance of a T_ADD.

        The c.lang file is read by numerous source-to-source compilers that generate code snippets. These utilities include:

        • gentype: Generates a list of tree object types.
        • gentree: Generates a structure that contains all the property data for tree objects.
        • genctypes: Generates a list of C-Type tree objects - these represent the fundamental data types in C.
        • genaccess: Generate accessor macros for tree object properties.
        • gengc: Generate a mark function for each tree object, this allows the garbage collector to traverse object trees.
        • gendump: Generate code to dump out tree objects recursively.
        • gendot: Generate a dot file for a given tree hierarchy, allowing it to be visualised.

        Evaluator

        The output of the lexer & parser is a tree object hierarchy which is then passed into the evaluator (evaluator.c). The evaluator will then recursively evaluate each tree element, updating internal evaluator state, thereby executing a program.

        Calls to functions external to the evaluator are handled in a platform-dependent way. Currently x86_64 and aarch64 are the only supported platforms and the code to handle this is in the x86_64 and aarch64 folders respectively. This works by taking a function call tree object (represented by a T_FN_CALL) from the evaluator with all arguments evaluated and marshalling them into a simple linked-list. This is then traversed in assembly to move the value into the correct register according to the x86_64 or aarch64 calling-conventions and then branching to the function address.

        Parser & Lexer

        The parser and lexer are implemented in parser.m4 and lex.m4 respectively. After passing through M4 the output is two bison parsers and two flex lexers.

        The reason for two parsers is that the grammar for a C REPL is very different than that of a C file. For example, we want the user to be able to type in statements to be evaluated on the REPL without the need for wrapping them in a function. Unfortunately writing a statement that is outside a function body isn’t valid C. As such, we don’t want the user to be able to write bare statements in a C file. To achieve this we have two different set of grammar rules which produces two parsers. Most of the grammar rules do overlap and therefore we use a single M4 file to take care of the differences.

        瀏覽 23
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲欧美卡通| 强辱丰满人妻HD中文字幕| 人妻精品无码| 亚洲一区图片| 炮友露脸青楼传媒刘颖儿| 婷婷六月激情| 91热久久| 九一无码| 国产毛片18水真多18精品| 97色色网| 少妇搡BBBB搡BBB搡造水爽| 欧美日韩不卡视频| 欧美老妇另类BBwBBw| 亚洲国产精品成人va在线观看| 99视频内射三四| 天天操夜| 亚洲高清无码网站| AV牛牛| 91人人妻人人操| youjizzcom日本| 狠狠狠狠操| 91秦先生在线播放| 一级黄色A片视频| 国产黄色a片| 91蜜桃婷婷狠狠久久综合9色| 成人爽a毛片一区二区免费| 日本在线黄色视频| www激情| 日韩精品成人AV| 三级A片| 韩国久久久| 豆花视频成人版www满18| 超碰天堂| 夜夜嗨AⅤ一区二区三区| 欧美日韩国产a| 尤物视频在线播放| 亚洲欧美一区二区三区在线| 国产成人a亚洲精品| 91西安站街老熟女露脸| 久久都是精品| 操逼网视频| 无码秘蜜桃一区二区| 日韩黄色在线观看| 日韩伊人| 99ri精品| 永久精品| 国产一级自拍| 高清无码视频免费版本在线观看 | 最新中文字幕一区| 亚洲另类视频| 亚洲天堂无码视频| 91人人人| 婷婷夜色福利网| www.91AV| 激情自拍偷拍| 日韩欧美国产一区二区| 日韩五月婷婷| 97在线鲁碰免费视频| 国产在线激情视频| 一本一道无码| 无码乱伦视频| 国产精品乱| 亚洲av网址| 超碰天堂| 欧美亚洲精品在线| 中国老女人日逼| 国产一区免费观看| 亚洲无码p| 人操人人| 麻豆91麻豆国产传媒| 九九热在线观看| 三级片网站大全| 欧美黄色网址| 江苏妇搡BBB搡BBBB| 国产香蕉91| 无码免费毛片| 黑人在线播放| 强开小嫩苞毛片一二三区| 午夜成人小视频| 国产三级电影| 日韩在线视频免费观看| 中文字幕在线观看亚洲| 日韩爱爱视频| 久久精品大香蕉| 六月丁香视频| 最近中文字幕在线| 黄色国产免费| 色综合天天综合成人网| 国产成人午夜精品无码区久久麻豆| 97精品人妻一区二区三区香蕉| 少妇人妻一区二区三区| 四川少妇bbb| 一卡二卡久久| 亲子乱AV一区二区| 巨爆乳肉感一区二区三区视频| 懂色一区二区三区免费| 国精久久久久| 日韩三级AV在线观看| 澳门黄片| 亚洲操逼网| 操逼欧美| 国产在线观看免费视频| 69av在线播放| 日韩在线中文| 国产一区二区在线视频| 四虎黄色网| 人善交精品一区二区三区| 九九乱伦| 在线免费观看一区| 国产在线拍揄自揄拍无码网站新闻| 91人妻无码精品蜜桃| 另类老妇奶BBBBwBB| 狠狠干五月天| 精品成人免费视频| 尤物com| 国产尤物视频| 五月天婷婷丁香综合视频| 欧美日韩v| 91精品无码视频| 免费看一级黄色片| 黄色操屄视频| 巜痴漢電車~凌脔版2| 中文熟女| 奇米色五月| 日本性爱无码| 91丨国产丨精品丨丝袜| A片在线观看视频| 91九九九| 亚洲性爱av| 操B无码| 黄片免费观看视频| 成人黄片网站| 久久三级电影| 中文字幕免费| 免费一级婬片AA片观看| 俺来了俺去也| 999热这里只有精品| 麻豆蜜桃91无码| 免费观看一级黄片| 人妻国产| 欧美久久久久久久| 国产成人AV免费无码| 免费A片在线播放| 欧美色插| 日韩日日日| 69精品无码成人久久久久久| h网站在线| 天堂中文网| 青娱乐超碰在线| 91人人| 韩国久久| 最近中文字幕高清2019中文字幕| 久久成人三级| 西西西444www无码视频| AV-ThePorn| 全国男人的天堂网站| 加勒比无码视频| 在线观看视频国产| 2025AV在线| 国产伦精一品二品三品app| 欧美日韩一区二区在线观看| 丰滿人妻一区二区三区| aa无码| 91无码精品| 日逼黄片| 黄色特级aaa片| 亚洲V在线观看| 强开小嫩苞毛片一二三区| 成人久久久久久| 三级av在线观看| 69人妻人人澡人人爽久久| 激情视频免费在线观看| 18禁网站禁片免费观看| 九九无码视频| 国产成人精品一区二区| 青青草五月天色婷婷丁香| 国产综合色婷婷精品久久| 久草精品在线| 久久青草免费视频| 国产黄色视频免费看| 99久久婷婷国产综合精品hsex | 99成人网站| 人人操比| 中文日韩字幕| 夜夜操夜夜爽| 加勒比DVD手机在线播放观看视频 日韩精品一区二区三区四区蜜桃视频 | 国产性生活视频| AV第一福利大全导航| 亚洲精品午夜| 蜜桃av无码| 51成人精品午夜福利| 成人H在线| 国产91视频在线观看| 久久久久久综合| 三级麻豆| 日本人妻中文字幕| 日韩精品一区二区三区四区蜜桃视频 | 成人免费黄色| 亚洲AV无码国产精品| 亚洲无码视频在线观看高清 | 91嫩操| 一区二区黄| 色图欧美色图| 国产黄色免费网站| 天天插天天爽| 欧美日韩黄色极品| 日日摸夜夜| 中文字幕天天干| 99re热| 日本三级网站| 亚洲色婷| 中文字幕日本成人| 亚洲AV免费电影| 国产成人AV在线播放| 五月婷婷丁香六月| 成人福利小视频| 91成全在线| 996re| 欧美人妻精品| 暖暖爱视频免费| 黄色影视不卡| 亚洲狼人久久久精品| 最近日本中文字幕中文翻译歌词 | 天干天干天夜夜爽| 国产视频一区二区三区四区| 91精品国产乱码| 国产精品成人在线视频| 操综合网| 成人精品久久久| 在线不卡免费Av| 成人做爱黄片| 日本一本在线| 在线播放JUY-925被丈夫上司侵犯的第7天 | 香蕉成人网| 黄色电影毛片| 国产精品在线免费观看| 亚洲黄色成人| 九色PORNY自拍视频| 色我影院| 五月天狠狠| 国产伦精品一区二区三区视频女| 国产成人亚洲综合A∨婷婷| 91你懂的| 五月播播| 欧美69影院| 国产美女全裸网站| 日本不卡一区二区| 最新中文字幕在线播放| 69国产成人综合久久精品欧美| 又黄又爽无遮挡| 无码中文av| 性做久久久久久| 国产精品V日韩精品V在线观看| 国产精品自拍偷拍| 中文字幕偷拍| 亚洲无码黄色电影| 国产成人综合电影| 综合中文字幕| 男人天堂影院| www.啪| 亚洲社区在线观看| 欧美日韩一区在线| 日韩人妻无码专区一区二区| 一本久久综合亚洲鲁鲁五月天 | 亚洲理论| 1插菊花综合| 亚洲天堂影院| 午夜无码福利视频| 免费视频久久| 在线视频你懂得| 爱搞在线观看wwww| 国产成人激情视频| 亚洲av在线免费观看| 韩国中文字幕HD久久| 操鸡视频在线观看| 亚洲无码在线视频播放| 亚洲三级网站| 免费福利视频网站| 国产豆花视频| 神马午夜福利视频| 东方AV免费在线观看| www.91AV| 特黄AV| 欧美激情性爱网站| 亚洲AV成人无码精品区| 黄频在线观看| 激情亚洲五月天| www.豆花福利视频| 人人操在线播放| 国产一级a毛一级a毛片视频黑人| 国产熟女在线| 成人免费在线| 99久久99久国产黄毛片| 狠狠2021| 日韩久久综合| 97人妻精品黄网站| 色人天堂| 亚洲天堂一区二区| 国产一区二区三区成人| 农村三级片| 青草青视频| 一级a片在线免费观看| 午夜探花在线观看| 精品一区在线| 91麻豆国产在线| 中文字幕一二三区| 亚洲色图在线观看| 午夜福利无码电影| 亚洲色图成人网| 三级片AAA成人免费| 性色在线| 亚洲国产精品久久久| 91在线无码精品秘网站| 日韩在线看片| 欧美性爱中文字幕| 中文字幕无码免费| 欧美性猛交XXXX乱大交| 欧美日韩国产尤物主播精品| 99er在线观看| 性猛交AAAA片免费看蜜桃视频| 淫荡97| 黄色视频毛片| 97精品国产| 国产女人十八水真多| 日本成人久久| 日韩A片免费| 少妇高潮在线| 亚洲日韩视频在线观看| 亚洲日韩在线视频播放| 亚洲AV无码乱码国产精品蜜芽| 日韩欧美一区二区三区不卡| 亚洲一区高清| 国产XXXXX| 国产一级黄色A片| 2025av在线| 中文字幕无码在线观看| 欧美性爱A| 97人妻无码一区二区| 亚洲在线视频网站| 宗合久久| 老司机精品在线观看| 国产手机精品视频| 亚洲黄色视频网站| 欧美不卡一区二区| 这里都是精品| 超碰碰人人| 亚洲日韩中字| 一区二区高清无码视频| 免费观看一区二区三区| 色多多毛片| 欧美精产国品一二三区别| 狠狠撸在线| 国产视频123区| 免费无码成人片在线播放| 成人一区二区在线| 啪啪视频最新地址发布页| 黄色片免费视频网站| 91成人福利视频| 水蜜桃网站| 久久久免费观看视频| 伊人网综合| 广州媚黑妇系列视频在线| 91蜜桃在线| 欧美在线视频你懂的| 91AV| 国产美女激情视频| 精品国产区| 高清无码中文字| 免费看黄A级毛片成人片| www.怡春院| 亚洲综合影院| 国产成人一级| 精品欧美一区二区三区久久久| 中文字幕在线看成人电影| 熟女少妇视频| 空姐白洁| 特级欧美AAAAAA| 91人妻人人澡人人爽人人精品 | 91在线无码精品秘国产三年 | 久久中文字幕电影| 91热久久| 色婷婷激情五月天| 色九九九九| 99re6热在线精品视频功能| 91原创视频| 亚洲一区二区三区在线++中国| 中文在线观看免费视频| 中文字幕操逼网站| 日韩精品一二区| 中文字幕三级片在线观看| 蜜桃Av噜噜一区| 内射午夜福利在线免费观看视频 | 中文成人无字幕乱码精品区| 翔田千里无码流出两部| 男女拍拍免费视频| 亚洲a级毛片| 久操无码| 懂色成人av影院| 日本黄色免费| 97精品人妻一区二区三区香蕉农| 不卡无码在线观看| 躁BBB躁BBB躁BBBBBB日视频| 东京热视频网| 神马午夜三级| 九色自拍| 大香蕉大香蕉网| 91视频在线观看| 久久久久麻豆V国产精华液好用吗 色噜噜狠狠一区二区三区牛牛影视 | 青青操人人操| 色欲一区| 一本色道久久综合亚洲怎么玩| 欧美一级A| 国产精品V日韩精品V在线观看| 天天爽天天干| 久久成人福利| 在线观看欧美日韩视频| 天堂8在线| 你懂的久久| 呦小BBBB小小BBBB| 久久久久中文字幕| 大香蕉网视频| 成人黄色录像| 久久伊人大香蕉| 免费视频久久| 精品视频久| 操少妇视频| 偷拍亚洲综合| 日韩城人免费| 中文字幕AV第一页| 女人卖婬视频播放| 大香蕉国产精品视频| 五月婷婷啪| 九九热热| 91久久无码一区人妻A片蜜桃| 超碰99在线| 精品伊人| 美日韩综合| 就要草| 中文字幕国产在线观看| 草逼com| 国产黄色小视频在线观看| 韩国午夜激情| 欧美午夜精品成人片在线播放| 国产欧美综合在线观看| 91无码AⅤ在线| 久久久国产精品视频| 91瑟瑟| 国产激情艹逼| 日韩高清无码人妻| 免费一级A片在线观看视频| 老欧性老太色HD大全| 国产乱色精品成人免费视频| 99人妻在线| 中文无码日韩| 成人午夜av| 午夜亚洲AV永久无码精品蜜芽 | 西西人体BBBBBB| 日韩黄网| 天天干天天色天天射| a天堂视频| 996re| 婷婷深爱五月丁香网| av片在线免费观看| 免费日批网站| 丁香六月婷婷| 亚洲一级免费视频| 91精品国产一区二区三区四区大| 亚洲免费在线播放| 国产手机拍视频推荐2023| 欧美A视频在线观看| 一区二区三区四区免费观看| a免费在线| 久久夜色精品噜噜亚洲AV| 国产午夜无码视频在线观看| 成人三级片网| 胖老板办公室沙发无套爆秘书| 亚洲第一毛片| 91欧美精品成人综合在线观看| 丁香婷婷色五月激情综合三级三级片欧美日韩国| 亚洲精品久久久久久久久豆丁网 | 久久影院三级片| 黄色成人在线| 欧美黄片一区| 老司机午夜免费精品视频| 操逼免费看| 国产靠逼视频| 日本A一级片| 亚洲综合区| 91网址| 最近最经典中文MV字幕| 樱桃码一区二区三区| 强奸乱伦制服丝袜| jizz麻豆| 欧美日在线观看| 国产精品秘精东影业| 超碰一区| 99视频精品视频| 久草中文视频| 一级a一级a爰片免费| 69成人精品| 天堂在线视频| 免费黄色成人视频| 日本精品黄色视频| 走光无码一区二区三区| 久久黄色免费看| 亚洲AV在线免费观看| 韩国无码观看| 日本黄A三级三级三级| 国产无码av| 在线免费观看毛片| 99久久99久久久精品棕色圆| 超碰97人妻| 免费观看一级A片| 蜜臀在线视频| 黄色成人视频在线免费观看| 欧美日韩大片| 亚洲无码中文字幕在线| 亚洲性爱一区二区三区| 黄色大片网站| 午夜黄色电影| 99精品视频免费看| 日韩中文字幕精品| 蜜桃91精品| 亚洲护士无码| 亚洲第一区欧美日韩| 国产一区无码| 91精品国产偷窥一区二区| 亚洲中文字幕观看| 精品九九九九九| 亚洲中文视频在线| 无码不卡视频在线观看| 免费黄色在线视频| 97激情| 91av久久| 亚洲在线a| 国产亚洲视频免费观看| 99热碰碰热| 婷婷激情五月| 毛片一区二区| 一本道中文字幕| 大黄网站在线观看| 成人小视频在线| 亚洲xx网| 欧美v在线观看| 一级a黄片| 亚洲天堂在线观看网站| 底流量AV电影在线| 日韩在线视频观看| 国产乱码一区二区三区四区在线| 色婷婷视频在线播放| 国产中文在线观看| 日日操夜夜爽| 欧美性爱导航| 久热免费视频在线观看| 青娱乐在线精品| 综合天堂| 国产1024在线| 国产精品女人精品久久久天天 | www.精品视频| 国产丝袜无码| 中文无码字幕在线| 免费看毛片网站| 日韩无码中文字幕视频| 国产l精品久久久久久久久久| 女人18片毛片90分钟免费明星| 日韩一区二区无码视频| 欧美视频一| 在线三级av| 精品人妻在线| 免费观看A级毛片| 小黄片免费看| 在线h网站| 国产AV电影网| 欧美AⅤ视频| 美女性爱视频网站| 天天色操| 好逼天天有| 日韩a在线观看| 亚洲AⅤ无码一区二区波多野按摩| 永久免费AV无码| 国产自慰一区| 九九热视频99| 在线观看日韩视频| 婷婷综合一区| 日韩无码人妻一区| 国产欧美日韩一区| 国产视频精品一区二区三区| 欧产日产国产swag| 亚洲日韩精品无码| 黄色在线视频观看| AV在线免费网站| 九九综合伊人7777777| 岛国无码av| aa免费视频| 人妻操逼| 无码A∨| 成人怡红院| 中文字幕免费观看| 吴梦梦md0069| 国产AV日韩AⅤ亚洲AV中文| 开心五月婷| 国产91在线拍揄自揄拍无码九色 | 狠狠肏视频| 99精品网站| 国产小精品| 久久免费视频6| 97无码精品人妻一区二区三区| 五月婷婷六月香| 国产精品久久久久久久久久久久久久 | 亚洲AV成人精品日韩在线播放| 大色网小色网| 91国产爽黄在线相亲| 五夜福利成人视频| 2019狠狠操| 日p视频在线观看| 中文字幕亚洲天堂| 免费中文字幕av| 99在线精品视频免费观看20| 日韩一级无码视频| 手机AV在线| 亚洲成人69| 亚洲第一黄| 青青草原成人视频| 在线观看无码av| 国产一级a一级a免费视频| 国产毛片视频| gogogo视频在线观看黑人| 伊人婷婷久久| 欧美激情一级| 久久久精品午夜人成欧洲亚洲韩国| 97人妻人人揉人人躁人人| 亚洲黄色精品| 天天色天天色| 国产精品一级A片| 超碰九一| 四虎成人无码| 夜夜高潮夜夜爽| 精品无码人妻| 肏逼在线观看| 国产成人秘在线观看免费网站| 日本成人电影在线观看| 欧美一级黄色A片| 综合网伊人| 人人人人人妻| 国产嘿嘿| 1024国产| 操逼免费观看| 波多野结衣高清av久久直播免| 成人一区二区在线观看| 91在线无码精品秘入口男同| 国产精品国产精品国产专区不卡| 丁香婷婷色五月| 久久成人久久| 特色毛片| 国产性爱网址| 欧美日逼| 国产思思99re99在线观看| 日本人妻在线视频| 高清无码在线观看18| 2025四虎在线视频观看| 日本有码中文字幕| 干老女人视频| 国产偷拍| 久久思热国产| 免费A片在线看| 国产精品大全| 成人怡红院| 美女裸体网站国产| 暖暖日本在线| 少妇嫩搡BBBB搡BBBB| 2025毛片| 亚洲精品国产精品国自产A片同性 丰满人妻一区二区三区四区不卡 国产1级a毛a毛1级a毛1级 | 黄色片大香蕉| 欧美成人手机在线看片| 亚洲无码999| 91视频免费看| 欧美AAAAAAAAAA特级| 88AV在线播放| 久色视频| 人妻操逼视频| 午夜天堂精品久久| 日韩综合在线| 强伦人妻一区二区三区视频| x88AV吊钟奶熟女| 久久精品99久久久久久久久| 少妇人妻在线| 国产一级a毛一级a做免费图片| 国产精品乱伦| 日韩A毛片| 国产亚洲中文字幕| 91人妻人人澡人人爽人人精吕| 91视频网站免费观看| 成人免看一级a一片A片| 人人操人人| A色色| 成人视频一区二区| 干欧美女人| 嫰BBB槡BBBB槡BBBB| 最新中文字幕在线观看| 欧美不卡在线观看| 国产精品18禁| 久久久久人妻| 亚洲尤物在线| 久久夜色精品| 婷婷V亚洲V丁香月天V日韩V| 欧美久久精品| 奶大丰满一乱一视频一区二区三区在 | 操逼亚洲| 69亚洲视频| 91精品电影| 麻豆成人片| 久草黄色| 婷婷视频| 亚洲精品操逼| 亚洲精品视频无码| 日本一级婬片A片免费播放一| 日本国产精品| 性猛交╳XXX乱大交| 欧美在线视频播放| 欧美国产日韩欧美亚洲国产| 亚洲男人的天堂网| 国产成人午夜| 黑种人配中国少妇HD| 日本在线小视频| 国产一区免费观看| 人成视频在线| 在线观看免费视频无码| 日一日干一干| 天天想天天干| 中文字幕在线视频免费观看| 日日操天天操夜夜操| 91国语又粗又大对白| 芳芳的骚逼| 可以在线观看的AV| 天美果冻麻豆国产一区| 大地影视中文第三页最新在线观看| 亚洲综合网站| 人人操人人干人人看| 日本精品一区二区| 色婷婷在线影院| 插丰满少妇在线观看| 午夜激情乱伦| 另类老妇性bbwbbwbbw| 可以免费看AV的网站| 日韩激情无码视频精选| 少妇高潮喷水| 加勒比无码综合| 免费AA片| 天天视频入口| 一级免费视频| 亚洲综合色网站| 久久精品一区| 无码专区在线观看| 粉嫩一区二区三区四区| 99国产精品免费视频观看8| 久久五月天视频| 不卡AV在线| 亚洲精品无码免费| 亚洲无码在线电影| 亚洲国产成人无码a在线播放| 日本在线免费观看| 青青草精品在线视频| 中文字幕淫乱视频欧美| 成人av中文字幕| 亚洲日日夜夜| 日韩城人免费| 国产成人精品777777| 天堂网视频| 亚洲欧美日韩电影| 九色丨蝌蚪丨老版熟女| 综合久久网| 国产丝袜av| 热久久综合网站| 麻豆mdapp03.tⅴ| 高清无码视频免费| 68久久久| 中文字幕Av在线| 国产又粗又长又硬又大毛苴茸图片| 91Av视频| 毛片操逼| 久久国产精品伦子伦| 色色亚洲| 仓井空一区二区| 亚洲AV无码成人精品区东京热| 17c.白丝喷水自慰| 国产激情视频网站| 最新日韩在线| 成人乱无码AV在线观看| 久久久久久五月天| 人妻公日日澡久久久| 无码A区| 免费黄色视频网站大全| 秋霞亚洲| 国产久久在线| 日日日日日干| 亚洲一本色道中文无码| 天天插天天插| 麻豆精品一区二区| 中文字幕免费高清| 天天日夜夜添| 免费在线观看一区| 亚洲国产一区二区在线| 人人干人人摸人人操| 国产午夜精品一区二区| 乱伦AV网| 91乱伦| 国产精品秘麻豆免费版现看视频| 一级在线播放| 婷婷丁香五月花| 91在线观看视频| 在线观看无码高清| 波多野结衣无码在线视频| 国产看色免费| 国产福利在线| 久久亚洲AV| 欧美性爱天天操| 午夜美女福利视频| 亚洲去干网| 成人h在线| 久草免费电影| 婷婷狠狠爱| a免费视频在线观看| 中文字幕系列| 91乱子伦国产乱子伦| 亚洲专区中文字幕| 青青色视频| 五月一区| 怡春院熟女精品AV| 午夜国产| 一级av片| 亲子伦视频一区二区三区| 天堂视频在线观看亚洲美女| 日本国产高清| 99热在线免费观看| 人人操在线播放| 久久99国产乱子伦...| 九七在线视频| 亚洲午夜AV| 中文字幕福利电影| 69AV在线观看| 亚洲免费黄色电影| 中文字幕高清无码在线观看| 欧美乱伦内射| 日韩精品免费一区二区在线观看 | 日本AI高清无码在线观看网址| 无码AV网站| 视频在线一区| 亚洲高清超级无码在线视频观看| 少妇人妻一级A毛片| 黄色大片中国一级片-免费看特一级片-亚洲黄色AV | 内射网站在线观看| 亚洲精品图片| 美女三片| 日韩无码中字| 免费的黄色视频| 亚洲第一毛片| 麻豆一区二区三区四区| 欧美日韩在线视频一区| 日韩一级免费观看| 2025天天操夜夜操| 欧美一区二区三区激情| 亚洲成人av| 97干干| 无码人妻一区二区三区线花季传件| 亚洲视频中文字幕在线观看| 日韩午夜电影| 黄色精品网站| 国产性色AV| 东京热第一页| 黄片WWW| 欧美51精品| 91麻豆精品国产91久久久久久久久| 空姐白洁| 国产成人精品AV| 日韩成人在线播放| 欧美亚洲日韩国产| 日韩在线看片| 久久99精品国产.久久久久久| 亚洲成人大片| 老鸭窝av免费入口在线观看| 国产精品HongKong麻豆| 亚洲视频日韩在线观看| 国产免费无码| 97自拍视频| 国精产品久拍自产在线网站| 99九九视频| 影音先锋乱伦| 性欧美欧美巨大69| аⅴ资源新版在线天堂| 欧美MV日韩MV国产网站| 特级西西| 波多野结衣无码NET,AV| 欧美日韩A片欧美日| 秋霞91| 高清无码不卡AV| 少妇三区| 中文字幕一区三区三A片密月| 成人片成人网久久蜜桃臀| 国产黄色视频在线观看| 尤物在线视频|