Package org.joni.ast
Class QuantifierNode
- java.lang.Object
-
- org.joni.ast.Node
-
- org.joni.ast.StateNode
-
- org.joni.ast.QuantifierNode
-
- All Implemented Interfaces:
NodeStatus
,NodeType
public final class QuantifierNode extends StateNode
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
QuantifierNode.ReduceType
-
Nested classes/interfaces inherited from class org.joni.ast.Node
Node.TopNode
-
-
Field Summary
Fields Modifier and Type Field Description int
combExpCheckNum
boolean
greedy
Node
headExact
boolean
isRefered
int
lower
Node
nextHeadExact
(package private) static java.lang.String[]
PopularQStr
(package private) static QuantifierNode.ReduceType[][]
REDUCE_TABLE
(package private) static java.lang.String[]
ReduceQStr
static int
REPEAT_INFINITE
Node
target
int
targetEmptyInfo
int
upper
-
Fields inherited from interface org.joni.constants.internal.NodeStatus
NST_ADDR_FIXED, NST_BY_NUMBER, NST_CALLED, NST_CLEN_FIXED, NST_IN_REPEAT, NST_MARK1, NST_MARK2, NST_MAX_FIXED, NST_MEM_BACKREFED, NST_MIN_FIXED, NST_NAME_REF, NST_NAMED_GROUP, NST_NEST_LEVEL, NST_RECURSION, NST_STOP_BT_SIMPLE_REPEAT
-
-
Constructor Summary
Constructors Constructor Description QuantifierNode(int lower, int upper, boolean byNumber)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
copy(QuantifierNode other)
protected Node
getChild()
java.lang.String
getName()
boolean
isAnyCharStar()
static boolean
isRepeatInfinite(int n)
protected int
popularNum()
void
reduceNestedQuantifier(QuantifierNode other)
protected void
setChild(Node child)
int
setQuantifier(Node tgt, boolean group, ScanEnvironment env, byte[] bytes, int p, int end)
void
setTarget(Node tgt)
java.lang.String
toString(int level)
-
Methods inherited from class org.joni.ast.StateNode
clearAddrFixed, clearByNumber, clearCAlled, clearCLenFixed, clearInRepeat, clearMark1, clearMark2, clearMaxFixed, clearMemBackrefed, clearMinFixed, clearNamedGroup, clearNameRef, clearNestLevel, clearRecursion, clearStopBtSimpleRepeat, isAddrFixed, isByNumber, isCalled, isCLenFixed, isInRepeat, isMark1, isMark2, isMaxFixed, isMemBackrefed, isMinFixed, isNamedGroup, isNameRef, isNestLevel, isRecursion, isStopBtSimpleRepeat, setAddrFixed, setByNumber, setCalled, setCLenFixed, setInRepeat, setMark1, setMark2, setMaxFixed, setMemBackrefed, setMinFixed, setNamedGroup, setNameRef, setNestLevel, setRecursion, setStopBtSimpleRepeat, stateToString
-
Methods inherited from class org.joni.ast.Node
getAddressName, getType, getType2Bit, isSimple, newTop, pad, replaceWith, toString
-
-
-
-
Field Detail
-
REPEAT_INFINITE
public static final int REPEAT_INFINITE
- See Also:
- Constant Field Values
-
target
public Node target
-
lower
public int lower
-
upper
public int upper
-
greedy
public boolean greedy
-
targetEmptyInfo
public int targetEmptyInfo
-
headExact
public Node headExact
-
nextHeadExact
public Node nextHeadExact
-
isRefered
public boolean isRefered
-
combExpCheckNum
public int combExpCheckNum
-
REDUCE_TABLE
static final QuantifierNode.ReduceType[][] REDUCE_TABLE
-
PopularQStr
static final java.lang.String[] PopularQStr
-
ReduceQStr
static final java.lang.String[] ReduceQStr
-
-
Method Detail
-
setTarget
public void setTarget(Node tgt)
-
isAnyCharStar
public boolean isAnyCharStar()
-
popularNum
protected int popularNum()
-
copy
protected void copy(QuantifierNode other)
-
reduceNestedQuantifier
public void reduceNestedQuantifier(QuantifierNode other)
-
setQuantifier
public int setQuantifier(Node tgt, boolean group, ScanEnvironment env, byte[] bytes, int p, int end)
-
isRepeatInfinite
public static boolean isRepeatInfinite(int n)
-
-