1 package net.sourceforge.pmd.parsers;
2
3 import net.sourceforge.pmd.ast.ParseException;
4
5 import java.io.Reader;
6 import java.util.Map;
7
8 /***
9 * Common interface for calling tree-building parsers or source files.
10 *
11 * @author Pieter_Van_Raemdonck - Application Engineers NV/SA - www.ae.be
12 */
13 public interface Parser {
14
15 /***
16 * Parse source code and return the root node of the AST.
17 *
18 * @param source Reader that provides the source code of a compilation unit
19 * @return the root node of the AST that is built from the source code
20 * @throws ParseException In case the source code could not be parsed, probably
21 * due to syntactical errors.
22 */
23 Object parse(Reader source) throws ParseException;
24
25 Map getExcludeMap();
26
27 void setExcludeMarker(String marker);
28
29 }