Package xyz.cofe.cxel.js
Class JsParser
java.lang.Object
xyz.cofe.cxel.parse.BaseParser
xyz.cofe.cxel.js.JsParser
- All Implemented Interfaces:
GRCache
public class JsParser extends BaseParser
Парсер JS выражений
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJsParser.GRBoolЛитерал - булевоstatic classJsParser.GRNullЛитерал - nullNested classes/interfaces inherited from class xyz.cofe.cxel.parse.BaseParser
BaseParser.Atomic<T extends xyz.cofe.text.tparse.CToken,A extends AST> -
Field Summary
Fields Modifier and Type Field Description xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>addSubxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>andxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>atomпервичная "атомарная" конструкцияxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>bitAndxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>bitOrxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>bitShiftxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>bitXorxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>boolЛитерал - булевоxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>comparexyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>equalsxyz.cofe.text.tparse.ProxyGR<xyz.cofe.text.tparse.TPointer,AST>expressionВыражениеxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>floatNumberЛитерал - дробное числоxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>ifOpxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>intNumberЛитерал - целое числоxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>literalЛитерал - литералxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>mulDivxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>nullzЛитерал - nullxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>numberЛитерал - числоxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>orxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>parenthesКруглые скобкиxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>powerxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>primaryxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>stringЛитерал - строкаxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>unaryExressionУнарный операторxyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>varRef -
Constructor Summary
Constructors Constructor Description JsParser() -
Method Summary
Modifier and Type Method Description static xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST>list(xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST> expr)static xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST>map(xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST> literal, xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST> expr)Карта значенийstatic xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST>postfix(xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST> grBase, xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST> expr)Раширениеatomдо операций: доступа к полю объекта вызов метода доступ к элементу массива postfix ::=atom{
'.'IdTok
|'('[expression{','expression} ]')'
|'['expression']'
}
-
Field Details
-
intNumber
Литерал - целое число -
floatNumber
Литерал - дробное число -
number
Литерал - число -
bool
Литерал - булево -
nullz
Литерал - null -
string
Литерал - строка -
literal
Литерал - литерал -
expression
Выражение -
parenthes
Круглые скобки -
unaryExression
Унарный оператор -
varRef
-
atom
первичная "атомарная" конструкция -
primary
-
power
-
mulDiv
-
addSub
-
bitShift
-
compare
-
equals
-
bitAnd
-
bitXor
-
bitOr
-
and
-
or
-
ifOp
-
-
Constructor Details
-
JsParser
public JsParser()
-
-
Method Details
-
map
public static xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST> map(xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST> literal, xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST> expr)Карта значений- Parameters:
literal- литеральное значениеexpr- выражение- Returns:
- парсер правила
-
list
public static xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST> list(xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,? extends AST> expr)- Parameters:
expr- ссылка на правилоexpression- Returns:
- Правило создания списка
-
postfix
public static xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST> postfix(xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST> grBase, xyz.cofe.text.tparse.GR<xyz.cofe.text.tparse.TPointer,AST> expr)Раширениеatomдо операций:- доступа к полю объекта
- вызов метода
- доступ к элементу массива
atom{
'.'IdTok
|'('[expression{','expression} ]')'
|'['expression']'
}
-