Mã thông báo là phần tử nhỏ nhất của chương trình C ++ có ý nghĩa đối với trình biên dịch. Trình phân tích cú pháp C ++ nhận ra các loại mã thông báo này:số nhận dạng, từ khóa, ký tự, toán tử, dấu chấm câu và các dấu phân tách khác. Một dòng các mã thông báo này tạo nên một đơn vị dịch thuật. Các mã thông báo thường được phân tách bằng khoảng trắng.
Trình phân tích cú pháp nhận dạng từ khóa, số nhận dạng, chữ, toán tử và dấu chấm câu. Các mã thông báo tiền xử lý (như #include, #define, #if_def, v.v.) được sử dụng trong các giai đoạn tiền xử lý để tạo luồng mã thông báo được chuyển đến trình biên dịch. Các danh mục mã thông báo tiền xử lý là tên tiêu đề, số nhận dạng, số tiền xử lý, ký tự ký tự, ký tự chuỗi, v.v. không khớp với một trong các danh mục khác. Các ký tự ký tự và chuỗi ký tự có thể là các ký tự do người dùng xác định. Mã thông báo tiền xử lý có thể được phân tách bằng khoảng trắng hoặc nhận xét.
Trình phân tích cú pháp tách các mã thông báo khỏi luồng đầu vào bằng cách tạo mã thông báo dài nhất có thể bằng cách sử dụng các ký tự đầu vào trong quá trình quét từ trái sang phải.