Các spec liệt kê các loại thẻ pp ở 2.5, nhưng có chứa một loại cuối cùngNhững ký tự nào còn lại cho trang-tokens?
mỗi nhân vật không phải da trắng không gian mà không thể là một trong những trên
Tôi có một thời gian khó tìm một ví dụ trong đó một mã thông báo trang bắt được một ký tự như vậy sẽ sinh ra một chương trình C++ hợp lệ. Như 2.5 giải thích, một chương trình có thể chứa mã thông báo "
hoặc '
hoang dã, nhưng sau đó hành vi không xác định. Có ví dụ về chương trình hợp lệ không?
Hm chỉ có \ ký tự của những thẻ đi lạc phù hợp với danh mục trang mã thông báo cuối cùng, bởi vì đó là ký tự duy nhất trong dòng đó nằm trong bộ ký tự nguồn cơ bản. Những người khác sẽ trở thành UCN (nhận dạng), hoặc tôi thiếu cái gì? Tôi chấp nhận điều này vì ý tưởng '#if 0' và ý tưởng xâu chuỗi/ghép nối. Cảm ơn! –
Chỉ một số UCN nhất định có thể tạo thành mã định danh (§E). Về mặt kỹ thuật, tôi nghĩ rằng ba ký tự mở rộng sẽ tạo thành một dấu gạch chéo ngược đi theo sau là một chuỗi ký tự chữ và số trở thành một mã định danh. Điều này là do quy tắc munch tối đa rõ ràng. (Trên thực tế, điều đó ngụ ý rằng dấu phụ * không thể * được catenated, bởi vì chỉ có dấu gạch chéo ngược hàng đầu được nhìn thấy bởi toán tử '##'!) – Potatoswatter
"may" hay "có thể"? Nếu nó là "có thể", sau đó theo các chỉ thị IEC, chuỗi ký tự không hợp lệ vẫn phải được lexed như một định danh, và bị từ chối là không hợp lệ sau này. –