summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis/Lexer.java
diff options
context:
space:
mode:
authorGravatar jeff2014-07-26 19:24:00 -0400
committerGravatar jeff2014-07-26 19:24:00 -0400
commit295eceece371b516e771de93b6127bf728999483 (patch)
tree20ff6a35de79997fc338d922cae934b8872b11a9 /src/cuchaz/enigma/analysis/Lexer.java
downloadenigma-fork-295eceece371b516e771de93b6127bf728999483.tar.gz
enigma-fork-295eceece371b516e771de93b6127bf728999483.tar.xz
enigma-fork-295eceece371b516e771de93b6127bf728999483.zip
initial commit
so far source analysis is working. =)
Diffstat (limited to 'src/cuchaz/enigma/analysis/Lexer.java')
-rw-r--r--src/cuchaz/enigma/analysis/Lexer.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/analysis/Lexer.java b/src/cuchaz/enigma/analysis/Lexer.java
new file mode 100644
index 0000000..acb52bf
--- /dev/null
+++ b/src/cuchaz/enigma/analysis/Lexer.java
@@ -0,0 +1,41 @@
1/*******************************************************************************
2 * Copyright (c) 2014 Jeff Martin.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the GNU Public License v3.0
5 * which accompanies this distribution, and is available at
6 * http://www.gnu.org/licenses/gpl.html
7 *
8 * Contributors:
9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/
11package cuchaz.enigma.analysis;
12
13import java.util.Iterator;
14
15import jsyntaxpane.SyntaxDocument;
16import jsyntaxpane.Token;
17import jsyntaxpane.lexers.JavaLexer;
18
19public class Lexer implements Iterable<Token>
20{
21 private SyntaxDocument m_doc;
22 private Iterator<Token> m_iter;
23
24 public Lexer( String source )
25 {
26 m_doc = new SyntaxDocument( new JavaLexer() );
27 m_doc.append( source );
28 m_iter = m_doc.getTokens( 0, m_doc.getLength() );
29 }
30
31 @Override
32 public Iterator<Token> iterator( )
33 {
34 return m_iter;
35 }
36
37 public String getText( Token token )
38 {
39 return token.getString( m_doc );
40 }
41}