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 }