public class ABCTokenizer extends StringTokenizer implements ITokenizer
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ACCIDENTALS
Allowable note accidentals
|
private java.util.Map<java.lang.String,java.lang.String> |
keywords1
maps regex to their ASCII string counterparts.
|
private java.util.Map<java.lang.String,java.lang.String> |
keywords2
keywords2 is searched second
|
private java.util.Vector<java.util.Map<java.lang.String,java.lang.String>> |
keywordsVector
Ordered sets of keywords to check.
|
private java.util.Stack<Token> |
stack
Push-back stack for tokens.
|
private ITokenFactory |
tokFac
Factory for the tokens
|
_fileReader, _st
Constructor and Description |
---|
ABCTokenizer(java.lang.String inputFileName)
Constructor for the class
|
Modifier and Type | Method and Description |
---|---|
Token |
getNextToken()
Return the next token, either from the stream or the last token if it was
pushed back
|
private Token |
makeNextToken()
Parse the strings down from the getNextStringToken further, separating
out the abc keywords into tokens.
|
private java.lang.String |
parseNote(java.lang.String sTok)
Returns the first note string in the given string.
|
private java.lang.String |
parseQuote(java.lang.String acc,
java.lang.String sTok)
Returns the rest of a string, incl.
|
void |
putBack(Token t)
Push token back into the stream
|
getNextStringToken, putStringBack
private java.util.Map<java.lang.String,java.lang.String> keywords1
private java.util.Map<java.lang.String,java.lang.String> keywords2
private java.util.Vector<java.util.Map<java.lang.String,java.lang.String>> keywordsVector
private ITokenFactory tokFac
private java.util.Stack<Token> stack
public static final java.lang.String ACCIDENTALS
public ABCTokenizer(java.lang.String inputFileName) throws java.io.FileNotFoundException
inputFileName
- File to tokenizejava.io.FileNotFoundException
public Token getNextToken()
getNextToken
in interface ITokenizer
public void putBack(Token t)
putBack
in interface ITokenizer
t
- the Token you need to put back in the stream.private Token makeNextToken()
private java.lang.String parseNote(java.lang.String sTok)
sTok
- The string to parseprivate java.lang.String parseQuote(java.lang.String acc, java.lang.String sTok)
acc
- Accumulated result stringsTok
- the current string token