类 GrammarCreator
java.lang.Object
org.beetl.core.engine.GrammarCreator
- 所有已实现的接口:
IGrammarConstants
语法自定义控制,可以集成这个类实现特定扩展
1) 负责提供语法黑名单,则模板不允许出现特定语法,如java直接调用,或者while循环
2) 负责提供功一系列create方法构造语法树,可以重载这些create方法构造自己的语法树,比如,一个允许最多循环10次的while
- 作者:
- xiandafu
-
字段概要
字段从接口继承的字段 org.beetl.core.engine.IGrammarConstants
Ajax, And, Arth, Break, ClassNativeCall, Compare, Continue, For, ForIn, Format, Function, FunctionExp, If, IncDec, InstanceNativeCall, JsonArray, JsonMap, Neg, Not, Or, Return, Select, Switch, Tag, TemplateContent, Ternary, TextOutputSt, TextOutputSt2, Try, VarAssign, VarAssignSeq, VarRef, VarRefAssign, VarRefAssignExp, VarTag, While -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidaddDisableGrammar(String disableGrammar) 参考BeetlLexer.g4createAjax(BlockStatement block, GrammarToken token, boolean defaultRender) createAnd(Expression exp1, Expression exp2, GrammarToken token) createArth(Expression a, Expression b, short mode, GrammarToken token) createBlock(Statement[] nodes, GrammarToken token) createBreak(GrammarToken token) createClassNativeCall(ClassNode clsNode, NativeNode[] chain, GrammarToken token) createCompare(Expression a, Expression b, short mode, GrammarToken token) createContinue(GrammarToken token) createFor(VarAssignSeqStatement varAssignSeq, Expression[] expInit, Expression condition, Expression[] expUpdate, Statement forPart, Statement elseforPart, GrammarToken token) createForIn(VarDefineNode forVar, Expression exp, boolean hasSafe, Statement forPart, Statement elseForPart) createFormat(String name, String pattern, GrammarToken token) createFunction(String name, Expression[] exps, VarAttribute[] vas, boolean hasSafe, Expression safeExp, GrammarToken token) createFunctionExp(String name, Expression[] exps, VarAttribute[] vas, boolean hasSafe, Expression safeExp, GrammarToken token) createIf(Expression condtion, Statement ifStatement, Statement elseStatement, GrammarToken token) createIncDec(boolean isInc, boolean returnOrginal, GrammarToken token) createInstanceNativeCall(InstanceNode insNode, NativeNode[] chain, GrammarToken token) createJasonArray(List<Expression> list, GrammarToken token) createJsonMap(Map<String, Expression> map, GrammarToken token) createLiteral(Object value, GrammarToken token) createNeg(Expression exp, GrammarToken token) createNot(Expression exp, GrammarToken token) createOr(Expression exp1, Expression exp2, GrammarToken token) createReturn(Expression exp) createSelect(Expression value, Expression[] conditions, BlockStatement[] blocks, BlockStatement defaultBlock, GrammarToken token) createStatementExpression(Expression expression) createStaticByteText(int textIndex, GrammarToken token) createStaticText(int textIndex, GrammarToken token) createSwitch(Expression value, LinkedHashMap<Expression, BlockStatement> map, BlockStatement defaultBlock, GrammarToken token) createTag(String tagName, Expression[] expList, Statement block, GrammarToken token) createTemplateContent(BlockStatement block, GrammarToken token) createTernary(Expression condtion, Expression a, Expression b, GrammarToken token) createTextOutputSt(Expression exp, FormatExpression format) createTextOutputSt2(Expression exp, FormatExpression format) createTry(BlockStatement tryPart, BlockStatement catchPart, VarDefineNode error, GrammarToken token) createVarAssign(Expression exp, GrammarToken token) createVarAssignSeq(VarAssignStatement[] assings) createVarRef(VarAttribute[] attributes, boolean hasSafe, Expression safe, GrammarToken token) createVarRef(VarAttribute[] attributes, boolean hasSafe, Expression safe, GrammarToken token, GrammarToken firstToken) createVarRefAssign(Expression exp, VarRef varRef) createVarRefAssignExp(Expression exp, VarRef varRef) createVarTag(String tagName, Expression[] expList, Statement block, VarDefineNode[] varDefine, GrammarToken token) createWhile(Expression exp, Statement whileBody, GrammarToken token) protected voiddisableSyntaxCheck(String ast) 模板解析之前可以手工增加一个beetl语句模板解析完毕后可以增加一个语句
-
字段详细资料
-
disableGrammarSet
禁用语法的集合
-
-
构造器详细资料
-
GrammarCreator
public GrammarCreator()
-
-
方法详细资料
-
addDisableGrammar
参考BeetlLexer.g4 -
createVarAssignSeq
-
createVarAssign
-
createVarRefAssign
-
createBlock
-
createTextOutputSt
-
createTextOutputSt2
-
createReturn
-
createBreak
-
createContinue
-
createForIn
public ForStatement createForIn(VarDefineNode forVar, Expression exp, boolean hasSafe, Statement forPart, Statement elseForPart) -
createFor
public GeneralForStatement createFor(VarAssignSeqStatement varAssignSeq, Expression[] expInit, Expression condition, Expression[] expUpdate, Statement forPart, Statement elseforPart, GrammarToken token) -
createWhile
-
createStaticText
-
createStaticByteText
-
createIf
public IfStatement createIf(Expression condtion, Statement ifStatement, Statement elseStatement, GrammarToken token) -
createStatementExpression
-
createTry
public TryCatchStatement createTry(BlockStatement tryPart, BlockStatement catchPart, VarDefineNode error, GrammarToken token) -
createTag
public TagStatement createTag(String tagName, Expression[] expList, Statement block, GrammarToken token) -
createVarTag
public TagVarBindingStatement createVarTag(String tagName, Expression[] expList, Statement block, VarDefineNode[] varDefine, GrammarToken token) -
createSwitch
public SwitchStatement createSwitch(Expression value, LinkedHashMap<Expression, BlockStatement> map, BlockStatement defaultBlock, GrammarToken token) -
createSelect
public SelectStatement createSelect(Expression value, Expression[] conditions, BlockStatement[] blocks, BlockStatement defaultBlock, GrammarToken token) -
createAjax
-
createFunction
public FunctionExpression createFunction(String name, Expression[] exps, VarAttribute[] vas, boolean hasSafe, Expression safeExp, GrammarToken token) -
createLiteral
-
createCompare
-
createTernary
public TernaryExpression createTernary(Expression condtion, Expression a, Expression b, GrammarToken token) -
createArth
-
createJasonArray
-
createJsonMap
-
createFunctionExp
public FunctionExpression createFunctionExp(String name, Expression[] exps, VarAttribute[] vas, boolean hasSafe, Expression safeExp, GrammarToken token) -
createClassNativeCall
public NativeCallExpression createClassNativeCall(ClassNode clsNode, NativeNode[] chain, GrammarToken token) -
createInstanceNativeCall
public NativeCallExpression createInstanceNativeCall(InstanceNode insNode, NativeNode[] chain, GrammarToken token) -
createAnd
-
createOr
-
createNot
-
createNeg
-
createIncDec
-
createVarRef
public VarRef createVarRef(VarAttribute[] attributes, boolean hasSafe, Expression safe, GrammarToken token, GrammarToken firstToken) -
createVarRef
public VarRef createVarRef(VarAttribute[] attributes, boolean hasSafe, Expression safe, GrammarToken token) -
createVarRefAssignExp
-
createTemplateContent
-
createFormat
-
disableSyntaxCheck
-
first
模板解析之前可以手工增加一个beetl语句- 参数:
resource-- 返回:
-
last
模板解析完毕后可以增加一个语句- 参数:
resource-- 返回:
-