Toán tử (Operator): mô tả phép toán áp dụng cho một hoặc nhiều đối tượng. Thường là chuỗi ký tự không phải chữ số.
Dấu phân cách (Punctuator): dùng để phân tách hoặc kết thúc danh sách các phần tử.
Danh sách toán tử và dấu phân cách trong C
... && -= >= ~ + ; ] <<= &= -> >> % , < ^ >>= *= /= ^= & - = { != ++ << |= ( . > | %= += <= || ) / ? } ## -- == ! * : [ #
Lưu ý: Một số chuỗi vừa là toán tử vừa là dấu phân cách (*, =, :, #, ,). Một số dấu phân cách phải đi theo cặp: ( ), [ ], { }.
Quy tắc phân tích token (Maximal Munch)
Trình biên dịch luôn cố gắng xây dựng token dài nhất có thể. Ví dụ với a+++++b:
a ++ ++ + b (không hợp lệ)
Trình biên dịch không hiểu là:
a ++ + ++ b (có thể hợp lệ)