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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prover.java

?? 這是我們參加06年全國開源軟件的競賽作品
?? JAVA
字號:
/*
Copyright (C) 1989, 1991 Free Software Foundation, Inc.  
51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA

author: Yuan yongfu  lijin   liyong   lib 511,the College of Mathematics and Computer Science,HuNan Normal University,China

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

*/
package edu.hunnu.webjetchecker.propertytest;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.StringTokenizer;

import edu.hunnu.webjetchecker.config.Config;
import edu.hunnu.webjetchecker.convert.Bpel2RemarkPi;

/**
 * @author ly
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class Prover extends PropertyExamine {
    private File file = null;

    public Prover(File file) {
        this.file = file;
    }

    // 將不帶注釋的Pi表達式匹配到帶注釋的Pi表達式
    public String pi2RemarkPi() throws IOException {
        Config config = new Config();
        String path = config.getMwb_path();
        RandomAccessFile ra = new RandomAccessFile(path + "\\proveFault", "r");
        long len = ra.length();
        String str = "";
        for (int i = 0; i < len; i++) {
            str = str + ra.readLine();
        }

        StringTokenizer token = new StringTokenizer(str, ".");
        int num = token.countTokens();
        String[] actions = new String[num];
        for (int i = 0; i < num; i++) {
            actions[i] = token.nextToken();
        }
        String head = actions[0];

        if (head.startsWith("("))
            head = head.substring(1);
        if (head.indexOf("(") > 0) {
            head = head.substring(0, head.indexOf("("));
        } else if (head.indexOf("<") > 0)
            head = head.substring(0, head.indexOf("<"));

        String tail = actions[num - 2];
        if (tail.indexOf("(") > 0)
            tail.substring(0, tail.indexOf("("));
        else if (tail.indexOf("<") > 0)
            tail = tail.substring(0, tail.indexOf("<"));

        Bpel2RemarkPi br = new Bpel2RemarkPi(file);
        String strf = br.getResult();

        for (int i = 0; i < 2; i++) {
            strf = strf.substring(strf.indexOf(")") + 1);
        }

        int posHead = strf.indexOf(head); // posHead是開始的動作在帶匹配的Pi演算的表達式中的位置
        int temp0 = posHead;
        temp0 = positionBackward(strf, temp0, 0); // start結束*的位置
        int temp1 = temp0 - 1;
        temp1 = positionBackward(strf, temp1, 0); // start開始*的位置
        int bsPos = startPos(strf, temp1);

        int posTail = strf.indexOf(tail);
        int temp2 = posTail;
        temp2 = positionForward(strf, temp2, 0); // end開始*的位置
        int temp3 = temp2 + 1;
        temp3 = positionForward(strf, temp3, 0); // end結束*的位置

        int bePos = endPos(strf, temp2);
        int eePos = positionForward(strf, bePos + 1, 0);
        String result = strf.substring(bsPos - 1, eePos + 2);

        return result;
    }

    // positionBackward向后尋找*的位置,
    private static int positionBackward(String str, int i, int j) {
        int cons = i + 1;
        while (!str.substring(i, i + 1).equals("*")) {
            if (i == 0) { // 已經找到字符串頂端,則匹配最后一個找到的*
                i = cons;
                break;
            } else if (str.substring(i, i + 1).equals(".") && j != 0) { // 當遇到字符"."后返回最后匹配的*,第一次匹配時忽略"."
                while (!str.substring(i, i + 1).equals("*")) {
                    i = i + 1;
                }
                return i;

            }
            i = i - 1;
        }
        return i;
    }

    // positionForward向前尋找*的位置,
    private static int positionForward(String str, int i, int j) {
        int cons = i - 1;
        while (!str.substring(i, i + 1).equals("*")) {
            if (i == str.length() - 2) { // 已經找到字符串尾端,則匹配最后一個找到的*
                i = cons;
                break;
            } else if (str.substring(i, i + 1).equals(".") && j != 0) { // 當遇到字符"."后返回倒數第二次匹配的*,第一次匹配時忽略"."
                while (!str.substring(i, i + 1).equals("*")) {
                    i = i - 1;
                }
                i = i - 1;
                while (!str.substring(i, i + 1).equals("*")) {
                    i = i - 1;
                }
                return i;
            }
            i = i + 1;
        }
        return i;
    }

    // 方法startPos,返回(*start*)開始的位置,
    private static int startPos(String str, int pos) {
        int cons = pos; // cons記錄初始的start的*位置
        pos = positionBackward(str, positionBackward(str, pos - 1, 1) - 1, 1);
        if (pos == cons) { // 如果*的位置沒有發生變化,說明此時的start的位置為最終匹配的位置(中間沒有其他的),返回
            return pos;
        } else if ((str.substring(pos + 1, pos + 2)).equals("s")) { // 如果下一個還是start,則繼續往下找,直到滿足條件
            startPos(str, pos);
        } else {
            pos = positionForward(str, positionForward(str, pos + 1, 1) + 1, 1);// 如果下一個是end,則回溯到前面一個start
        }
        return pos;
    }

    // 方法endPos,返回(*end*)開始的位置
    private static int endPos(String str, int pos) {
        int cons = pos;
        pos = positionForward(str, positionForward(str, pos + 1, 1) + 1, 1);
        if (pos == cons) {
            return pos;
        } else if (str.substring(pos + 1, pos + 2).equals("e")) {
            endPos(str, pos);
        } else
            pos = positionBackward(str, positionBackward(str, pos - 1, 1) - 1,
                    1);
        return pos;
    }

    public String getPiFault() throws IOException {
        Config config = new Config();
        String path = config.getMwb_path();
        RandomAccessFile ra = new RandomAccessFile(path + "\\proveFault", "r");
        long len = ra.length();
        String str = "";
        for (int i = 0; i < len; i++) {
            str = str + ra.readLine();
        }
        return str;

    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色播五月激情综合网| 日韩高清欧美激情| 欧美精品一区二区三区久久久| 色综合天天性综合| 99久久免费精品| 国产91在线观看丝袜| 国产一区二区久久| 一本色道**综合亚洲精品蜜桃冫| 国产精品99久久久| 国产高清无密码一区二区三区| 国产一区二区在线看| 国产精品一区二区在线观看不卡 | 日韩欧美一区在线| 欧美电影影音先锋| 337p亚洲精品色噜噜噜| 欧美成人一级视频| 国产色产综合产在线视频| 国产亚洲一区二区在线观看| 中文字幕欧美激情一区| 中文字幕一区二区5566日韩| 一区二区中文字幕在线| 尤物在线观看一区| 日本亚洲免费观看| 国产成人av自拍| 91免费看片在线观看| 欧美色手机在线观看| 日韩精品一区二区三区在线| 久久久一区二区三区捆绑**| 亚洲欧洲色图综合| 午夜激情一区二区三区| 蜜桃一区二区三区在线| 成人一级片在线观看| 欧美视频自拍偷拍| 精品国产一区二区在线观看| 国产精品国产三级国产普通话99| 18涩涩午夜精品.www| 日韩电影在线免费看| 国产aⅴ综合色| 欧美日韩在线精品一区二区三区激情 | 香蕉久久一区二区不卡无毒影院| 蜜桃视频在线观看一区| 9i在线看片成人免费| 久久嫩草精品久久久久| 亚洲综合丝袜美腿| 国产美女在线观看一区| 在线观看视频一区二区| 欧美成人精精品一区二区频| 亚洲免费av观看| 久久99深爱久久99精品| 欧洲中文字幕精品| 国产午夜精品理论片a级大结局| 亚洲综合av网| 不卡av在线免费观看| 欧美成人午夜电影| 午夜私人影院久久久久| 不卡高清视频专区| 久久久久国产精品厨房| 午夜电影网一区| 91麻豆国产在线观看| 久久久久久久久久久99999| 图片区小说区区亚洲影院| 91免费精品国自产拍在线不卡| 欧美大片在线观看一区| 亚洲国产成人av| 色综合天天天天做夜夜夜夜做| 久久伊99综合婷婷久久伊| 天堂一区二区在线| 欧美日韩日日夜夜| 午夜私人影院久久久久| 欧洲一区二区三区免费视频| 国产精品国产三级国产有无不卡| 久久99深爱久久99精品| 日韩欧美国产午夜精品| 日韩国产高清在线| 欧美区一区二区三区| 香蕉成人啪国产精品视频综合网 | 国产精品久久午夜夜伦鲁鲁| eeuss鲁片一区二区三区| 久久综合色综合88| 精品无码三级在线观看视频| 日韩精品一区二区三区在线| 日产国产高清一区二区三区| 欧美午夜片在线观看| 亚洲永久精品大片| 欧美日韩国产综合草草| 亚洲成av人片在线| 91精品国产高清一区二区三区 | 久久这里只有精品首页| 久久99精品久久久久久久久久久久| 欧美精品乱人伦久久久久久| 日韩av一区二| 欧美大胆一级视频| 国产一区二区三区久久悠悠色av| 久久精品人人做人人爽人人| 极品少妇xxxx偷拍精品少妇| 久久久久久影视| 国产成人一级电影| 亚洲区小说区图片区qvod| 一本色道a无线码一区v| 亚洲综合男人的天堂| 欧美精品乱码久久久久久| 看国产成人h片视频| 国产欧美视频一区二区| 91尤物视频在线观看| 亚洲成人精品一区| 精品国产乱码久久久久久久久| 国产成人综合网| 一区二区三区日韩在线观看| 欧美久久久久久蜜桃| 国产麻豆午夜三级精品| 亚洲人成7777| 亚洲视频一二三区| 欧美亚男人的天堂| 免费亚洲电影在线| 国产精品视频一二三区| 欧美日韩综合色| 粉嫩aⅴ一区二区三区四区 | 奇米影视一区二区三区小说| 久久久久国产精品麻豆| 欧美日韩免费电影| 国产一区二三区| 亚洲第一成年网| 国产精品久久久久aaaa樱花| 欧美伊人久久久久久久久影院 | 亚洲色图欧美激情| 日韩片之四级片| 色激情天天射综合网| 国产最新精品免费| 亚洲国产va精品久久久不卡综合| 国产亚洲欧美在线| 欧美一卡二卡三卡四卡| 91精彩视频在线观看| 福利电影一区二区三区| 日日骚欧美日韩| 亚洲日本va午夜在线影院| 精品成人在线观看| 欧美日韩国产中文| 91年精品国产| 成人av在线资源网站| 激情六月婷婷久久| 免费观看成人av| 婷婷综合久久一区二区三区| 亚洲人成网站精品片在线观看| 久久久99精品免费观看不卡| 日韩一区二区三区三四区视频在线观看 | 亚洲成人免费在线| 亚洲一区二区在线观看视频| 国产精品久久毛片av大全日韩| 欧美精品一区二区三区一线天视频| 欧美日韩精品一二三区| 一本到三区不卡视频| 99久久国产免费看| 成人高清视频免费观看| 在线看国产日韩| 在线免费精品视频| 在线看不卡av| 欧美日韩精品一区二区三区| 色哟哟日韩精品| 欧美在线一二三四区| 欧美综合天天夜夜久久| 欧美专区在线观看一区| 欧美日韩一区三区| 91精品国产综合久久久久久久久久| 欧美无砖砖区免费| 91麻豆精品国产91久久久使用方法 | 久久精品人人爽人人爽| 久久人人爽爽爽人久久久| 久久久久高清精品| 欧美韩国日本综合| 亚洲欧洲性图库| 亚洲一区二区三区四区五区中文| 亚洲成av人片在线| 精品一区二区三区av| 国产成人福利片| 一本到不卡免费一区二区| 欧美怡红院视频| 精品三级在线看| 国产精品家庭影院| 污片在线观看一区二区| 加勒比av一区二区| 波多野结衣欧美| 欧美日韩久久一区| 久久亚洲影视婷婷| 一区二区三区在线观看国产| 首页国产欧美久久| 国产成人精品综合在线观看| 91原创在线视频| 欧美成人免费网站| 亚洲欧美偷拍三级| 美日韩一级片在线观看| 成人aa视频在线观看| 正在播放一区二区| 国产精品不卡一区二区三区| 成人午夜激情影院| 欧美视频一二三区| 国产精品欧美精品| 免费国产亚洲视频| 在线观看精品一区| 国产清纯白嫩初高生在线观看91 | 国产精品原创巨作av|