com.jasml.compiler
Class Scanner
java.lang.Object
com.jasml.compiler.Scanner
- All Implemented Interfaces:
- Scannable
- public class Scanner
- extends java.lang.Object
- implements Scannable
Fields inherited from interface com.jasml.compiler.Scannable |
AccessFlag, Attribute, Bracket_Left, Bracket_Right, Char, Colon, Comma, Defualt, EOF, Equal, Instruction, JavaName, Number_Double, Number_Double_NaN, Number_Double_Negativ_Infinity, Number_Double_Positive_Infinity, Number_Float, Number_Float_NaN, Number_Float_Negativ_Infinity, Number_Float_Positive_Infinity, Number_Integer, Number_Long, Pointer, SBracket_Left, SBracket_Right, String, WhiteSpace |
Constructor Summary |
private |
Scanner()
|
|
Scanner(java.io.File file)
|
|
Scanner(java.lang.String content)
|
|
Scanner(java.lang.String content,
int startingOffset,
int length)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
lineNumberOn
private boolean lineNumberOn
columnNumberOn
private boolean columnNumberOn
lineNumber
private int lineNumber
lineNumberStart
private int lineNumberStart
columnNumber
private int columnNumber
columnNumberStart
private int columnNumberStart
buf
char[] buf
offset
private int offset
tokenOffset
private int tokenOffset
tokenType
private int tokenType
contentLength
private int contentLength
oldColumnNumber
private int oldColumnNumber
token
private java.lang.String token
EndChar
private static final char EndChar
- See Also:
- Constant Field Values
currentLineNumber1
private int currentLineNumber1
lineNumberStart1
private int lineNumberStart1
columnNumber1
private int columnNumber1
columnNumberStart1
private int columnNumberStart1
offset1
private int offset1
tokenOffset1
private int tokenOffset1
tokenType1
private int tokenType1
oldColumnNumber1
private int oldColumnNumber1
token1
private java.lang.String token1
Scanner
private Scanner()
Scanner
public Scanner(java.lang.String content)
throws ParsingException
Scanner
public Scanner(java.lang.String content,
int startingOffset,
int length)
Scanner
public Scanner(java.io.File file)
throws ParsingException
partialScanner
public static Scanner partialScanner(char[] content,
int offset,
int length,
int columnNumber,
int lineNumber)
throws ParsingException
- create a scanner using the content of the Scanner passed down.
the new Scanner will scan from offset, end at offset+length
- Parameters:
content
- offset
- length
- columnNumber
- lineNumber
-
- Returns:
-
- Throws:
ParsingException
getContent
public char[] getContent()
mark
public void mark()
restore
public void restore()
setLineNumberOn
public void setLineNumberOn(boolean lineNumberOn)
setColumnNumberOn
public void setColumnNumberOn(boolean columnNumberOn)
nextToken
public int nextToken()
throws ParsingException
- Throws:
ParsingException
specialNumberType
private int specialNumberType(java.lang.String s)
- processing speical number types. see Negativ_Infinity Positive_Infinity NaN definitions in Scannable.
- Parameters:
s
-
- Returns:
- String
isValidName
private boolean isValidName(java.lang.String s)
getOffset
public int getOffset()
getLength
public int getLength()
tokenType
public int tokenType()
token
public java.lang.String token()
getLineNumberStart
public int getLineNumberStart()
getLineNumberEnd
public int getLineNumberEnd()
getColumnNumberStart
public int getColumnNumberStart()
getColumnNumberEnd
public int getColumnNumberEnd()
skipSpaces
private void skipSpaces()
read
private char read()
unread
private void unread()
delComment
private static void delComment(char[] cs)
throws ParsingException
- delete the single line and multi line comment,
if multiline comment is not closed.
TODO: this can be merged into read()
- Parameters:
cs
-
- Throws:
ParsingException
isSeparatingChar
private boolean isSeparatingChar(char c)
isInstruction
private boolean isInstruction(java.lang.String s)
isAccessFlag
private boolean isAccessFlag(java.lang.String s)
exception
private static void exception(Scanner sc,
java.lang.String msg)
throws ParsingException
- Throws:
ParsingException
exception
private static void exception(int offset,
int line,
int column,
java.lang.String msg)
throws ParsingException
- Throws:
ParsingException
main
public static void main(java.lang.String[] s)
throws java.lang.Exception
- Throws:
java.lang.Exception