15#if !defined(Us_COCO_PARSER_H__)
16#define Us_COCO_PARSER_H__
163 bool isScript =
false;
264 void ExpectWeak(
int n,
int follow);
265 bool WeakSeparator(
int n,
int syFol,
int repFol);
267 Token* mDummyTokenPtr{
nullptr};
Definition UsSymbolTable.hpp:115
Definition UsSymbolTable.hpp:281
Definition UsSymbolTable.hpp:202
Definition wizard/lib/source/Us/Parser.h:26
static char * GetStaticError(int aId)
Definition wizard/lib/source/Us/Parser.cpp:1248
virtual void Warning(Token *tok, const cocochar_t *s)
Definition wizard/lib/source/Us/Parser.cpp:1517
int count
Definition wizard/lib/source/Us/Parser.h:28
virtual void SynErr(Token *tok, int n)
Definition wizard/lib/source/Us/Parser.cpp:1497
virtual void Exception(const cocochar_t *s)
Definition wizard/lib/source/Us/Parser.cpp:1527
virtual ~Errors()=default
virtual void Error(Token *tok, const cocochar_t *s)
Definition wizard/lib/source/Us/Parser.cpp:1511
Scanner * mScannerPtr
Definition wizard/lib/source/Us/Parser.h:210
UsSymbol Sy
Definition wizard/lib/source/Us/Parser.h:110
void exp5(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:862
bool IsAssignment()
Definition wizard/lib/source/Us/Parser.h:114
void EOF_Token()
Definition wizard/lib/source/Us/Parser.h:195
void trailer(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:977
void identifier(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:200
void initializer_list(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:629
void exp(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:282
void var_decl(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:495
void exp1(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:698
bool IsType(Cx &c, Token *tok)
Definition wizard/lib/source/Us/Parser.h:178
void MulOp(int &op)
Definition wizard/lib/source/Us/Parser.cpp:846
void stat(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:298
void stat2(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:597
bool IsType(Cx &c)
Definition wizard/lib/source/Us/Parser.h:181
Token * la
Definition wizard/lib/source/Us/Parser.h:215
void exp_mult(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:833
void while_stat(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:573
void Parse()
Definition wizard/lib/source/Us/Parser.cpp:1190
Token * t
Definition wizard/lib/source/Us/Parser.h:214
void exp7(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:908
bool IsVarDecl(Cx &c)
Definition wizard/lib/source/Us/Parser.h:183
void SemErr(const cocochar_t *msg)
Definition wizard/lib/source/Us/Parser.cpp:29
void formal_param_list(Cx &c, Fn &f)
Definition wizard/lib/source/Us/Parser.cpp:1054
void EqOp(int &op)
Definition wizard/lib/source/Us/Parser.cpp:749
void TestOp(int &op)
Definition wizard/lib/source/Us/Parser.cpp:778
void block_func(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:429
Parser(const Parser &aSrc)=delete
Cx * mRootCx
Definition wizard/lib/source/Us/Parser.h:112
void basic_type()
Definition wizard/lib/source/Us/Parser.cpp:144
void exp6(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:887
int maxT
Definition wizard/lib/source/Us/Parser.h:100
void InitParse()
Definition wizard/lib/source/Us/Parser.cpp:1183
bool IsInitializerEntry()
Definition wizard/lib/source/Us/Parser.h:148
void exp3(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:726
void assign_expr(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:587
UsType Ty
Definition wizard/lib/source/Us/Parser.h:106
bool IsScript(Cx &c)
Definition wizard/lib/source/Us/Parser.h:160
Errors * mErrorsPtr
Definition wizard/lib/source/Us/Parser.h:211
@ _foreach
Definition wizard/lib/source/Us/Parser.h:78
@ _else
Definition wizard/lib/source/Us/Parser.h:80
@ _int
Definition wizard/lib/source/Us/Parser.h:90
@ _real_number
Definition wizard/lib/source/Us/Parser.h:52
@ _do
Definition wizard/lib/source/Us/Parser.h:75
@ _plus
Definition wizard/lib/source/Us/Parser.h:64
@ _eq
Definition wizard/lib/source/Us/Parser.h:60
@ _times_assign
Definition wizard/lib/source/Us/Parser.h:72
@ _number
Definition wizard/lib/source/Us/Parser.h:51
@ _ppvarEnd
Definition wizard/lib/source/Us/Parser.h:98
@ _in
Definition wizard/lib/source/Us/Parser.h:79
@ _div_assign
Definition wizard/lib/source/Us/Parser.h:73
@ _true
Definition wizard/lib/source/Us/Parser.h:87
@ _dot
Definition wizard/lib/source/Us/Parser.h:55
@ _false
Definition wizard/lib/source/Us/Parser.h:88
@ _static
Definition wizard/lib/source/Us/Parser.h:95
@ _assign
Definition wizard/lib/source/Us/Parser.h:59
@ _return
Definition wizard/lib/source/Us/Parser.h:84
@ _double
Definition wizard/lib/source/Us/Parser.h:91
@ _comma
Definition wizard/lib/source/Us/Parser.h:69
@ _semicolon
Definition wizard/lib/source/Us/Parser.h:56
@ _lparen
Definition wizard/lib/source/Us/Parser.h:57
@ _rbrace
Definition wizard/lib/source/Us/Parser.h:68
@ _plus_assign
Definition wizard/lib/source/Us/Parser.h:70
@ _string_literal
Definition wizard/lib/source/Us/Parser.h:53
@ _le
Definition wizard/lib/source/Us/Parser.h:63
@ _bool
Definition wizard/lib/source/Us/Parser.h:93
@ _break
Definition wizard/lib/source/Us/Parser.h:82
@ _while
Definition wizard/lib/source/Us/Parser.h:81
@ _continue
Definition wizard/lib/source/Us/Parser.h:83
@ _null2
Definition wizard/lib/source/Us/Parser.h:86
@ _ge
Definition wizard/lib/source/Us/Parser.h:62
@ _minus_assign
Definition wizard/lib/source/Us/Parser.h:71
@ _rparen
Definition wizard/lib/source/Us/Parser.h:58
@ _minus
Definition wizard/lib/source/Us/Parser.h:65
@ _or
Definition wizard/lib/source/Us/Parser.h:67
@ _char_literal
Definition wizard/lib/source/Us/Parser.h:54
@ _if
Definition wizard/lib/source/Us/Parser.h:76
@ _for
Definition wizard/lib/source/Us/Parser.h:77
@ _ne
Definition wizard/lib/source/Us/Parser.h:61
@ _EOF
Definition wizard/lib/source/Us/Parser.h:49
@ _ident
Definition wizard/lib/source/Us/Parser.h:50
@ _r_arrow
Definition wizard/lib/source/Us/Parser.h:74
@ _extern
Definition wizard/lib/source/Us/Parser.h:96
@ _ppvar
Definition wizard/lib/source/Us/Parser.h:97
@ _and
Definition wizard/lib/source/Us/Parser.h:66
@ _null
Definition wizard/lib/source/Us/Parser.h:85
@ _char
Definition wizard/lib/source/Us/Parser.h:92
@ _string
Definition wizard/lib/source/Us/Parser.h:89
@ _global
Definition wizard/lib/source/Us/Parser.h:94
void extern_stat(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:438
void exp_test(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:765
void exp2(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:712
virtual ~Parser()
Definition wizard/lib/source/Us/Parser.cpp:1241
void block(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:287
bool IsCast(Cx &c)
Definition wizard/lib/source/Us/Parser.h:133
void AssignOp(int &op)
Definition wizard/lib/source/Us/Parser.cpp:667
void do_stat(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:552
Parser(Scanner *aScannerPtr)
Definition wizard/lib/source/Us/Parser.cpp:1197
void static_exp(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:206
void func_def(Cx &c)
Definition wizard/lib/source/Us/Parser.cpp:125
Us::UsCtx Cx
Definition wizard/lib/source/Us/Parser.h:105
Parser & operator=(const Parser &aRhs)=delete
UsFunction Fn
Definition wizard/lib/source/Us/Parser.h:107
Us::UsValList ValList
Definition wizard/lib/source/Us/Parser.h:109
void arg_list(Cx &c, ValList &args)
Definition wizard/lib/source/Us/Parser.cpp:266
Us::UsVal Val
Definition wizard/lib/source/Us/Parser.h:108
void AddOp(int &op)
Definition wizard/lib/source/Us/Parser.cpp:817
void bool_exp(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:568
void exp_add(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:804
void var_decl_expr(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:487
void Script()
Definition wizard/lib/source/Us/Parser.cpp:117
void atom(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:917
void exp_eq(Cx &c, Val &v)
Definition wizard/lib/source/Us/Parser.cpp:736
void type(Cx &c, Ty *&ty)
Definition wizard/lib/source/Us/Parser.cpp:170
Definition wizard/lib/source/Us/Scanner.h:396
Definition wizard/lib/source/Us/Scanner.h:114
int kind
Definition wizard/lib/source/Us/Scanner.h:119
Ty * qType(Token *t)
Definition UsCtx.cpp:323
UsSymbol * Search(const std::string &aName, int aDepth=100)
Definition UsCtx.hpp:260
bool IsAppMethod() const
Definition UsCtx.hpp:105
bool IsScript() const
Definition UsCtx.hpp:111
Definition wizard/lib/source/Us/Parser.cpp:18
std::vector< UsVal > UsValList
Definition UsCtx.hpp:140
UsType Ty
Definition UsCtx.hpp:43
UsFunction Fn
Definition UsCtx.hpp:44
UsCtx Cx
Definition UsCtx.hpp:42
UsVal Val
Definition UsCtx.hpp:45
COCO_Str::char_type cocochar_t
Definition wizard/lib/source/Us/Scanner.h:76