Package: ILexToken

ILexToken

Coverage

1: /*
2: * #%~
3: * The Overture Abstract Syntax Tree
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
6: * %%
7: * This program is free software: you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (at your option) any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.ast.intf.lex;
23:
24: import org.overture.ast.lex.VDMToken;
25: import org.overture.ast.node.INode;
26:
27: public interface ILexToken extends INode, Comparable<INode>
28: {
29:
30:         ILexLocation getLocation();
31:
32:         VDMToken getType();
33:
34:         /**
35:          * Test whether this token is a given basic type.
36:          *
37:          * @param ttype
38:          * The type to test.
39:          * @return True if this is of that type.
40:          */
41:
42:         public boolean is(VDMToken ttype);
43:
44:         /**
45:          * Test whether this token is not a given basic type.
46:          *
47:          * @param ttype
48:          * The type to test.
49:          * @return True if this is not of that type.
50:          */
51:
52:         public boolean isNot(VDMToken ttype);
53:
54:         ILexToken clone();
55:
56: }