|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.Ostermiller.Syntax.Lexer.HTMLLexer1
public class HTMLLexer1
HTMLLexer1 is a html 2.0 lexer. Created with JFlex. An example of how it is used:
HTMLLexer1 shredder = new HTMLLexer1(System.in);
HTMLToken1 t;
while ((t = shredder.getNextToken()) != null){
System.out.println(t);
}
There are two HTML Lexers that come with this package. HTMLLexer is a basic HTML lexer that knows the difference between tags, text, and comments. HTMLLexer1 knows something about the structure of tags and can return names and values from name value pairs. It also knows about text elements such as words and character references. The two are similar but which you should use depends on your purpose. In my opinion the HTMLLexer1 is much better for syntax highlighting.
HTMLLexer
,
HTMLToken1
Field Summary | |
---|---|
static int |
COMMENT_DEF
|
static int |
DOCTYPE
|
static int |
FINISH_END_TAG
|
static int |
PRE
|
static int |
PRE_TAG
|
static int |
SCRIPT
|
static int |
SCRIPT_TAG
|
static int |
START_DOC_TAG
|
static int |
START_END_TAG
|
static int |
START_EQUAL
|
static int |
START_PRE_EQUAL
|
static int |
START_PRE_VALUE
|
static int |
START_SCRIPT_EQUAL
|
static int |
START_SCRIPT_VALUE
lexical states |
static int |
START_TAG
|
static int |
START_TEXTAREA_EQUAL
|
static int |
START_TEXTAREA_VALUE
|
static int |
START_VALUE
|
static int |
TAG
|
static int |
TAG_END
|
static int |
TEXTAREA
|
static int |
TEXTAREA_TAG
|
static int |
YYEOF
This character denotes the end of file |
static int |
YYINITIAL
|
Constructor Summary | |
---|---|
HTMLLexer1(InputStream in)
Creates a new scanner. |
|
HTMLLexer1(Reader in)
Creates a new scanner There is also a java.io.InputStream version of this constructor. |
Method Summary | |
---|---|
Token |
getNextToken()
Resumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs. |
Token |
getNextToken(boolean returnComments,
boolean returnWhiteSpace)
next Token method that allows you to control if whitespace and comments are returned as tokens. |
static void |
main(String[] args)
Prints out tokens from a file or System.in. |
void |
reset(Reader reader,
int yyline,
int yychar,
int yycolumn)
Closes the current input stream, and resets the scanner to read from a new input stream. |
void |
yybegin(int newState)
Enters a new lexical state |
char |
yycharat(int pos)
Returns the character at position pos from the matched text. |
void |
yyclose()
Closes the input stream. |
int |
yylength()
Returns the length of the matched text region. |
void |
yypushback(int number)
Pushes the specified amount of characters back into the input stream. |
void |
yyreset(Reader reader)
Resets the scanner to read from a new input stream. |
int |
yystate()
Returns the current lexical state. |
String |
yytext()
Returns the text matched by the current regular expression. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int YYEOF
public static final int START_SCRIPT_VALUE
public static final int PRE_TAG
public static final int TAG
public static final int COMMENT_DEF
public static final int TEXTAREA
public static final int START_PRE_EQUAL
public static final int START_END_TAG
public static final int START_PRE_VALUE
public static final int TEXTAREA_TAG
public static final int SCRIPT
public static final int START_TEXTAREA_EQUAL
public static final int START_TEXTAREA_VALUE
public static final int TAG_END
public static final int START_EQUAL
public static final int FINISH_END_TAG
public static final int START_TAG
public static final int SCRIPT_TAG
public static final int START_VALUE
public static final int PRE
public static final int START_DOC_TAG
public static final int YYINITIAL
public static final int START_SCRIPT_EQUAL
public static final int DOCTYPE
Constructor Detail |
---|
public HTMLLexer1(Reader in)
in
- the java.io.Reader to read input from.public HTMLLexer1(InputStream in)
in
- the java.io.Inputstream to read input from.Method Detail |
---|
public Token getNextToken(boolean returnComments, boolean returnWhiteSpace) throws IOException
IOException
public static void main(String[] args)
args
- program arguments, of which the first is a filenamepublic void reset(Reader reader, int yyline, int yychar, int yycolumn) throws IOException
reset
in interface Lexer
reader
- The new input.yyline
- The line number of the first token.yychar
- The position (relative to the start of the stream) of the first token.yycolumn
- The position (relative to the line) of the first token.
IOException
- if an IOExecption occurs while switching readers.public final void yyclose() throws IOException
IOException
public final void yyreset(Reader reader)
reader
- the new input streampublic final int yystate()
public final void yybegin(int newState)
newState
- the new lexical statepublic final String yytext()
public final char yycharat(int pos)
pos
- the position of the character to fetch.
A value from 0 to yylength()-1.
public final int yylength()
public void yypushback(int number)
number
- the number of characters to be read again.
This number must not be greater than yylength()!public Token getNextToken() throws IOException
getNextToken
in interface Lexer
IOException
- if any I/O-Error occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |