1	package antlr;
2	
3	/**
4	 * <b>SOFTWARE RIGHTS</b>
5	 * <p>
6	 * ANTLR 2.5.0 MageLang Institute, 1998
7	 * <p>
8	 * We reserve no legal rights to the ANTLR--it is fully in the
9	 * public domain. An individual or company may do whatever
10	 * they wish with source code distributed with ANTLR or the
11	 * code generated by ANTLR, including the incorporation of
12	 * ANTLR, or its output, into commerical software.
13	 * <p>
14	 * We encourage users to develop software with ANTLR. However,
15	 * we do ask that credit is given to us for developing
16	 * ANTLR. By "credit", we mean that if you use ANTLR or
17	 * incorporate any source code into one of your programs
18	 * (commercial product, research project, or otherwise) that
19	 * you acknowledge this fact somewhere in the documentation,
20	 * research report, etc... If you like ANTLR and have
21	 * developed a nice tool with the output, please mention that
22	 * you developed it using ANTLR. In addition, we ask that the
23	 * headers remain intact in our source code. As long as these
24	 * guidelines are kept, we expect to continue enhancing this
25	 * system and expect to make other tools available as they are
26	 * completed.
27	 * <p>
28	 * The ANTLR gang:
29	 * @version ANTLR 2.5.0 MageLang Institute, 1998
30	 * @author Terence Parr, <a href=http://www.MageLang.com>MageLang Institute</a>
31	 * @author <br>John Lilley, <a href=http://www.Empathy.com>Empathy Software</a>
32	 */
33	import antlr.collections.impl.BitSet;
34	
35	interface ToolErrorHandler {
36	
37	
38		/** Issue a warning about ambiguity between a alternates
39		 * @param blk  The block being analyzed
40		 * @param lexicalAnalysis  true for lexical rule
41		 * @param depth  The depth of the ambiguity
42		 * @param sets  An array of bitsets containing the ambiguities
43		 * @param altIdx1  The zero-based index of the first ambiguous alternative
44		 * @param altIdx2  The zero-based index of the second ambiguous alternative
45		 */
46		public void warnAltAmbiguity(
47			Grammar grammar,
48			AlternativeBlock blk,
49			boolean lexicalAnalysis,
50			int depth,
51			Lookahead[] sets,
52			int altIdx1,
53			int altIdx2
54		);
55		/** Issue a warning about ambiguity between an alternate and exit path.
56		 * @param blk  The block being analyzed
57		 * @param lexicalAnalysis  true for lexical rule
58		 * @param depth  The depth of the ambiguity
59		 * @param sets  An array of bitsets containing the ambiguities
60		 * @param altIdx  The zero-based index of the ambiguous alternative
61		 */
62		public void warnAltExitAmbiguity(
63			Grammar grammar,
64			BlockWithImpliedExitPath blk,
65			boolean lexicalAnalysis,
66			int depth,
67			Lookahead[] sets,
68			int altIdx
69		);
70	}
71