Показать сообщение отдельно
Старый 02.05.2013, 22:10   #9
jimon
 
Сообщений: n/a
Ответ: C++ Grandmaster Certification

PA2 пройден, он был о переводе чисел, символов и строк в бинарный вид.

Теперь ночью с просоня могу сказать что выведет этот код и почему :
std::cout << typeid(0xfabbbbaf).name() << std::endl;
std::cout << typeid(3123123123).name() << std::endl;
Подсказка : он выведет unsigned int и long int. Почему ? смотри 2.14.2.2

Основное веселье было в парсинге чисел, вот например часть sanity-test :
1..e
1..E
1..Ee
1..eEEE.E..EEe.Ee
1e2
5e+
1.e+e-...
.1.O.M.G.123...
..123
..123e
10.0_safaf+1
10.0_safafe+1
Суть в том чтобы лексер выдал такое число за один токен, и только потом мы уже узнали в парсере что он не валиден.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
falcon (12.05.2013)