एक टोकन सी ++ प्रोग्राम का सबसे छोटा तत्व है जो संकलक के लिए सार्थक है। सी ++ पार्सर इस प्रकार के टोकन को पहचानता है:पहचानकर्ता, कीवर्ड, अक्षर, ऑपरेटर, विराम चिह्न, और अन्य विभाजक। इन टोकन की एक धारा एक अनुवाद इकाई बनाती है। टोकन आमतौर पर सफेद स्थान से अलग होते हैं।
पार्सर कीवर्ड्स, आइडेंटिफ़ायर्स, लिटरल, ऑपरेटर्स और पंक्चुएटर्स को पहचानता है। प्रीप्रोसेसिंग टोकन (जैसे #include, #define, #if_def, आदि) का उपयोग कंपाइलर को पारित टोकन स्ट्रीम उत्पन्न करने के लिए प्रीप्रोसेसिंग चरणों में किया जाता है। प्रीप्रोसेसिंग टोकन श्रेणियां हेडर नाम, पहचानकर्ता, प्रीप्रोसेसिंग नंबर, वर्ण अक्षर, स्ट्रिंग अक्षर इत्यादि हैं जो अन्य श्रेणियों में से किसी एक से मेल नहीं खाते हैं। चरित्र और स्ट्रिंग अक्षर उपयोगकर्ता द्वारा परिभाषित अक्षर हो सकते हैं। प्रीप्रोसेसिंग टोकन को सफेद स्थान या टिप्पणियों से अलग किया जा सकता है।
पार्सर एक बाएं से दाएं स्कैन में इनपुट वर्णों का उपयोग करके संभव सबसे लंबा टोकन बनाकर इनपुट स्ट्रीम से टोकन को अलग करता है।