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 classLexer.Loc
-
Field Summary
Fields Modifier and Type Field Description private booleanattributeModeprivate CharacterParsercharacterParserprivate static java.util.regex.PatterncleanReprivate java.util.LinkedList<Token>deferredTokensprivate static java.util.regex.PatterndoubleQuotedReprivate ExpressionHandlerexpressionHandlerprivate java.lang.Stringfilenameprivate java.lang.StringindentReprivate java.util.LinkedList<java.lang.Integer>indentStackprivate java.lang.StringindentTypeprivate intlastIndentsprivate intlinenoprivate java.util.LinkedList<java.lang.String>optionsprivate booleanpipelessprivate static java.util.regex.PatternquotedRe(package private) Scannerscannerprivate java.util.LinkedList<Token>stashprivate TemplateLoadertemplateLoader
-
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 Tokenadvance()private Tokenappend()private booleanassertNestingCorrect(java.lang.String exp)private Tokenassignment()private TokenattributesBlock()&attributes blockprivate Tokenattrs()Attributes.private Tokenblank()Blank line.private Tokenblock()private TokenblockCode()private CharacterParser.MatchbracketExpression()private CharacterParser.MatchbracketExpression(int skip)private Tokencall()private TokencaseToken()private TokenclassName()private Tokencode()private Tokencolon()private Tokencomment()private Tokenconditional()voidconsume(int len)private TokendefaultToken()voiddefer(Token tok)private Tokendeferred()private Tokendoctype()Doctype.private Tokendot()private Tokeneach()private java.lang.StringensureJadeExtension(java.lang.String templateName)private Tokeneos()private TokenextendsToken()private Tokenfail()private Tokenfilter()intgetLineno()booleangetPipeless()java.util.LinkedList<Token>getTokens()private Tokenid()private Tokeninclude()private TokenincludeFiltered()private Tokenindent()private intindexOfDelimiters(char start, char end)private java.lang.Stringinterpolate(java.lang.String attr, java.lang.String quote)private Tokeninterpolation()booleanisEndOfAttribute(int i, java.lang.String str, java.lang.String key, java.lang.String val, Lexer.Loc loc, CharacterParser.State state)Tokenlookahead(int n)private Tokenmixin()private TokenmixinBlock()Tokennext()private TokenpipelessText()private Tokenprepend()private java.lang.Stringscan(java.lang.String regexp)private java.lang.Stringscan1(java.lang.String regexp)voidsetPipeless(boolean pipeless)private Tokenstashed()private java.lang.Stringsubstr(java.lang.String str, int start, int length)private Tokentag()private Tokentext()private TokentextFail()private Tokenwhen()private TokenwhileToken()private Tokenyield()
-
-
-
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()
-
-