Package de.neuland.jade4j.lexer
Class Lexer
- java.lang.Object
-
- de.neuland.jade4j.lexer.Lexer
-
public class Lexer extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Lexer.Loc
-
Field Summary
Fields Modifier and Type Field Description private boolean
attributeMode
private CharacterParser
characterParser
private static java.util.regex.Pattern
cleanRe
private java.util.LinkedList<Token>
deferredTokens
private static java.util.regex.Pattern
doubleQuotedRe
private ExpressionHandler
expressionHandler
private java.lang.String
filename
private java.lang.String
indentRe
private java.util.LinkedList<java.lang.Integer>
indentStack
private java.lang.String
indentType
private int
lastIndents
private int
lineno
private java.util.LinkedList<java.lang.String>
options
private boolean
pipeless
private static java.util.regex.Pattern
quotedRe
(package private) Scanner
scanner
private java.util.LinkedList<Token>
stash
private TemplateLoader
templateLoader
-
Constructor Summary
Constructors Constructor Description Lexer(java.lang.String filename, TemplateLoader templateLoader, ExpressionHandler expressionHandler)
Lexer(java.lang.String input, java.lang.String filename, TemplateLoader templateLoader, ExpressionHandler expressionHandler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Token
advance()
private Token
append()
private boolean
assertNestingCorrect(java.lang.String exp)
private Token
assignment()
private Token
attributesBlock()
&attributes blockprivate Token
attrs()
Attributes.private Token
blank()
Blank line.private Token
block()
private Token
blockCode()
private CharacterParser.Match
bracketExpression()
private CharacterParser.Match
bracketExpression(int skip)
private Token
call()
private Token
caseToken()
private Token
className()
private Token
code()
private Token
colon()
private Token
comment()
private Token
conditional()
void
consume(int len)
private Token
defaultToken()
void
defer(Token tok)
private Token
deferred()
private Token
doctype()
Doctype.private Token
dot()
private Token
each()
private java.lang.String
ensureJadeExtension(java.lang.String templateName)
private Token
eos()
private Token
extendsToken()
private Token
fail()
private Token
filter()
int
getLineno()
boolean
getPipeless()
java.util.LinkedList<Token>
getTokens()
private Token
id()
private Token
include()
private Token
includeFiltered()
private Token
indent()
private int
indexOfDelimiters(char start, char end)
private java.lang.String
interpolate(java.lang.String attr, java.lang.String quote)
private Token
interpolation()
boolean
isEndOfAttribute(int i, java.lang.String str, java.lang.String key, java.lang.String val, Lexer.Loc loc, CharacterParser.State state)
Token
lookahead(int n)
private Token
mixin()
private Token
mixinBlock()
Token
next()
private Token
pipelessText()
private Token
prepend()
private java.lang.String
scan(java.lang.String regexp)
private java.lang.String
scan1(java.lang.String regexp)
void
setPipeless(boolean pipeless)
private Token
stashed()
private java.lang.String
substr(java.lang.String str, int start, int length)
private Token
tag()
private Token
text()
private Token
textFail()
private Token
when()
private Token
whileToken()
private Token
yield()
-
-
-
Field Detail
-
cleanRe
private static final java.util.regex.Pattern cleanRe
-
doubleQuotedRe
private static final java.util.regex.Pattern doubleQuotedRe
-
quotedRe
private static final java.util.regex.Pattern quotedRe
-
options
private java.util.LinkedList<java.lang.String> options
-
scanner
Scanner scanner
-
deferredTokens
private java.util.LinkedList<Token> deferredTokens
-
lastIndents
private int lastIndents
-
lineno
private int lineno
-
stash
private java.util.LinkedList<Token> stash
-
indentStack
private java.util.LinkedList<java.lang.Integer> indentStack
-
indentRe
private java.lang.String indentRe
-
pipeless
private boolean pipeless
-
attributeMode
private boolean attributeMode
-
filename
private final java.lang.String filename
-
templateLoader
private final TemplateLoader templateLoader
-
indentType
private java.lang.String indentType
-
characterParser
private CharacterParser characterParser
-
expressionHandler
private ExpressionHandler expressionHandler
-
-
Constructor Detail
-
Lexer
public Lexer(java.lang.String filename, TemplateLoader templateLoader, ExpressionHandler expressionHandler) throws java.io.IOException
- Throws:
java.io.IOException
-
Lexer
public Lexer(java.lang.String input, java.lang.String filename, TemplateLoader templateLoader, ExpressionHandler expressionHandler) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
next
public Token next()
-
consume
public void consume(int len)
-
defer
public void defer(Token tok)
-
lookahead
public Token lookahead(int n)
-
bracketExpression
private CharacterParser.Match bracketExpression()
-
bracketExpression
private CharacterParser.Match bracketExpression(int skip)
-
getLineno
public int getLineno()
-
setPipeless
public void setPipeless(boolean pipeless)
-
advance
public Token advance()
-
scan
private java.lang.String scan(java.lang.String regexp)
-
scan1
private java.lang.String scan1(java.lang.String regexp)
-
stashed
private Token stashed()
-
deferred
private Token deferred()
-
blank
private Token blank()
Blank line.
-
eos
private Token eos()
-
comment
private Token comment()
-
code
private Token code()
-
interpolation
private Token interpolation()
-
tag
private Token tag()
-
yield
private Token yield()
-
filter
private Token filter()
-
each
private Token each()
-
whileToken
private Token whileToken()
-
conditional
private Token conditional()
-
doctype
private Token doctype()
Doctype.
-
id
private Token id()
-
className
private Token className()
-
text
private Token text()
-
textFail
private Token textFail()
-
fail
private Token fail()
-
extendsToken
private Token extendsToken()
-
prepend
private Token prepend()
-
append
private Token append()
-
block
private Token block()
-
mixinBlock
private Token mixinBlock()
-
blockCode
private Token blockCode()
-
include
private Token include()
-
includeFiltered
private Token includeFiltered()
-
caseToken
private Token caseToken()
-
when
private Token when()
-
defaultToken
private Token defaultToken()
-
assignment
private Token assignment()
-
dot
private Token dot()
-
mixin
private Token mixin()
-
call
private Token call()
-
isEndOfAttribute
public boolean isEndOfAttribute(int i, java.lang.String str, java.lang.String key, java.lang.String val, Lexer.Loc loc, CharacterParser.State state)
-
interpolate
private java.lang.String interpolate(java.lang.String attr, java.lang.String quote)
-
substr
private java.lang.String substr(java.lang.String str, int start, int length)
-
assertNestingCorrect
private boolean assertNestingCorrect(java.lang.String exp)
-
attrs
private Token attrs()
Attributes.
-
attributesBlock
private Token attributesBlock()
&attributes block
-
indexOfDelimiters
private int indexOfDelimiters(char start, char end)
-
indent
private Token indent()
-
pipelessText
private Token pipelessText()
-
colon
private Token colon()
-
ensureJadeExtension
private java.lang.String ensureJadeExtension(java.lang.String templateName)
-
getPipeless
public boolean getPipeless()
-
getTokens
public java.util.LinkedList<Token> getTokens()
-
-