正文

自动机2006-05-24 09:23:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ggbm/14766.html

分享到:

        今天在网上逛的时候,看到一段识别java注释代码的自动机,所以跟大家分享!注意支持原创!!!!!! class CommentAutoMata{    final int start=0;    final int one=1;    final int two=2;    final int three=3;    final int finalState=4;    final int five=5;    final int six=6;    public List getCommentList(String s){        ArrayList ret=new ArrayList();        int begin=-1;              int curState=start;        for(int i=0;i<s.length();i++){            char c=s.charAt(i);            switch(curState){            case(start):                if(c=='/'){                    begin=i;                    curState=one;                }                else if(c=='"'){                    //识别字符出                    curState=5;                }                break;            case(one):                if(c=='*') curState=two;                else curState=start;                            break;            case(two):                if(c=='*') curState=three;                break;            case(three):                if(c=='/'){                    curState=finalState;                     //eat                    ret.add(s.substring(begin,i+1));                    //reset;                    curState=start;                    begin=-1;                }                else curState=two;                break;            case(five):                if(c=='"') curState=start;                else if(c=='\\')curState=six;                 break;            case(six):                curState=five;                break;                           }        }                return ret;    }}

阅读(2080) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册