From e7814f9d8c1d062852f5c9a652a1c4eb3335cf04 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Sat, 14 Oct 2023 13:07:24 +0200 Subject: parser: implement label, goto and continue statements --- lang/token.go | 91 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 46 insertions(+), 45 deletions(-) (limited to 'lang') diff --git a/lang/token.go b/lang/token.go index 5347504..995d621 100644 --- a/lang/token.go +++ b/lang/token.go @@ -12,57 +12,58 @@ const ( Char String - // Operators - Add - Sub - Mul - Quo - Rem - And - Or - Xor + // Binary operators (except indicated) + Add // + + Sub // - + Mul // * + Quo // / + Rem // % + And // & + Or // | + Xor // ^ Shl // << Shr // >> - AndNot // + AndNot // &^ - AddAssign - SubAssign - MulAssign - QuoAssign - RemAssign - AndAssign - OrAssign - XorAssign - ShlAssign - ShrAssign - AndNotAssign + AddAssign // += + SubAssign // -= + MulAssign // *= + QuoAssign // /= + RemAssign // %= + AndAssign // &= + OrAssign // |= + XorAssign // ^= + ShlAssign // <<= + ShrAssign // >>= + AndNotAssign // &^= - Land - Lor - Arrow - Inc - Dec - Equal - Less - Greater - Assign - Not - Plus // unitary + - Minus // unitary - - Address // unitary & - Deref // unitary * - NotEqual - LessEqual - GreaterEqual - Define - Ellipsis - Period - Tilde + Land // && + Lor // || + Arrow // unary -> + Inc // ++ + Dec // -- + Equal // == + Less // < + Greater // > + Assign // = + Not // unary ! + Plus // unary + + Minus // unary - + Address // unary & + Deref // unary * + BitComp // unary ^ + NotEqual // != + LessEqual // <= + GreaterEqual // >= + Define // := + Ellipsis // unary ... + Period // . + Tilde // unary ~ // Separators - Comma - Semicolon - Colon + Comma // , + Semicolon // ; + Colon // : // Block tokens ParenBlock // (..) -- cgit v1.2.3