Token คือองค์ประกอบเล็กที่สุดของโปรแกรม C++ ที่มีความหมายต่อคอมไพเลอร์ C++ parser รู้จัก tokens ประเภท: identifiers, keywords, literals, operators, punctuators, และ separators อื่นๆ Stream ของ tokens เหล่านี้ 구성 translation unit Tokens ปกติแยกกันด้วย white space
Parser รู้จัก keywords, identifiers, literals, operators, และ punctuators Preprocessing tokens (เช่น #include, #define, #ifdef) ใช้ใน preprocessing phases เพื่อสร้าง token stream ส่งให้คอมไพเลอร์ Preprocessing token categories ได้แก่ header names, identifiers, preprocessing numbers, character literals, string literals ฯลฯ ที่ไม่เข้ากลุ่มอื่น Character และ string literals สามารถเป็น user-defined literals ได้ Preprocessing tokens แยกได้ด้วย white space หรือ comments
Parser แยก tokens จาก input stream โดยสร้าง longest token ที่เป็นไปได้จาก input characters ใน left-to-right scan