1 /* 2 * Fsgrep is a simple Java application which allows a user to 3 * search all files in a directory structure for lines matching 4 * a given pattern. Its functionality is a combination of the 5 * Unix 'find' and 'grep' utilities. 6 * Visit [http://fsgrep.sourceforge.net/] for more information. 7 * 8 * Copyright (C) 2003-2006 Murali Krishnan [murali_ca_us@users.sourceforge.net] 9 * 10 * Fsgrep is free software; you can redistribute it and/or modify 11 * it under the terms of version 2 of the GNU General Public 12 * License as published by the Free Software Foundation. 13 * 14 * Fsgrep is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with Fsgrep (see the file named LICENSE.txt); if not, write 21 * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, 22 * Boston, MA 02111-1307 USA 23 */ 24 25 package mk.fsgrep.match; 26 27 import java.util.regex.*; 28 29 /*** 30 * 31 * 32 * @author Murali Krishnan 33 * 34 */ 35 public class CJavaSearch extends CodeSearch { 36 37 //------------------------------------------------------------ 38 //- Class Variables 39 40 public static final Pattern RE_PRINCIPLE_COMMENT = Pattern.compile("/"); 41 public static final Pattern RE_LINE_COMMENT = Pattern.compile("//[^\"]*$"); 42 public static final Pattern RE_BLOCK_COMMENT_START = Pattern.compile("///*.*[//n//r]*$"); 43 public static final Pattern RE_BLOCK_COMMENT_END = Pattern.compile("^.*?//*/"); 44 public static final Pattern RE_BLOCK_COMMENT_ONELINE = Pattern.compile("///*.*?//*/"); 45 46 47 //------------------------------------------------------------ 48 //- Class Functions 49 50 51 52 //------------------------------------------------------------ 53 //- Instance Variables 54 55 56 57 //------------------------------------------------------------ 58 //- Constructors 59 60 61 //------------------------------------------------------------ 62 //- Accessors 63 64 65 66 //------------------------------------------------------------ 67 //- Settors 68 69 70 71 //------------------------------------------------------------ 72 //- Private/Protected Utility Functions 73 74 75 76 //------------------------------------------------------------ 77 //- Public Interface Functions 78 79 80 81 //------------------------------------------------------------ 82 //- Class Interface Functions 83 84 protected Pattern rePrincipleCommentPattern() {return RE_PRINCIPLE_COMMENT;} 85 protected Pattern reLineComment() {return RE_LINE_COMMENT;} 86 protected Pattern reBlockCommentStart() {return RE_BLOCK_COMMENT_START;} 87 protected Pattern reBlockCommentEnd() {return RE_BLOCK_COMMENT_END;} 88 protected Pattern reBlockCommentOneLine() {return RE_BLOCK_COMMENT_ONELINE;} 89 90 91 //------------------------------------------------------------ 92 //- Inner Classes 93 94 95 96 //------------------------------------------------------------ 97 //- Main 98 99 100 101 }