jel

wat


Создание игр за еду

Бить людей за плохое знание C++ — это нормально.


Предыдущий пост Поделиться Следующий пост
Зоцените колорайзер.
jel
wat
За пол ночи накатал новый Colorizer. Под php. Регулярные выражения, почти не пользовал, чтобы не сломать мозг.



wat

Не волнуйся, фазы трансляции на PHP и регулярными выражениями ты не сделаешь.
int i = 10; //           dynamic_cast
b = dynamic_cast<i>;
out << " alskdfjla ksls flsa lsdk jsladk jsla dd  dynamic_cast  фывлао ыфдвл аоыфдвдыв ывда ";

asdf// asdf /*   asdf   */
/*   asdf    //asdf   */



via aruslan:
// Вырезка из набора простых boundary test cases парсера C++ комментариев
#include <iostream>

int main()
{
// Константы
  std::cout << "C1. This is /* not a comment */\n";
  std::cout << "C2. This is // not a comment\n";
  std::cout << "C3. This is \" /* not a comment as well*/ \"\n";
  std::cout << "C4. This is \" // not a comment as well \"\n";
  std::cout << "C5. Let's print some random numbers: " << '/*' << '*/' << '\n';
  std::cout << "C6. Let's print a random number: " << '//' << '\n';
  std::cout << "C7. This is\" '/*' not a comment '*/' \"\n";
  std::cout << "C8. This is\" '//' not a comment \"\n";

// Конец строки
  std::cout << "F5. This is "
    // line-continuation character: \
    "SOMETHING ERRONEOUS BUT" // */
    " not a comment\n";

// Триграфы + конец строки
  std::cout << "H5. This is obviously "
    // Триграфы?! - это что такое???????/
    "SOMETHING ERRONEOUS BUT"
    " not a comment\n";

// Триграфы + константы
#ifndef __GNUC__ // gcc up to 3.2.3 fails to handle trigraphs in these contexts
  std::cout << "J1. This is ??/" /* not a comment */ ??/"\n";
  std::cout << "J2. This is ??/" // not a comment at all */ ??/"\n";
  std::cout << "??/" '??/' '/*J3. Yeah, baby, this is NOT a comment*/' ??/"\n";
#endif
}



Если на сервере есть G++ и есть возможность вызывать функции .so из php, могу написать удобоваримый парсер
??=include <stdio.h>                         /* #          */

int main(void)
??<                                          /* {          */
        char n??(5??);                       /* [ and ]    */

        n??(4??) = '0' - (??-0 ??' 1 ??! 2); /* ~, ^ and | */
        printf("%c??/n", n??(4??));          /* ??/ = \    */
        return 0;
??>  


// Код
int a = int(atoi("Hello"));
__int64
int32
int b = 64-(13/2);//0
s = "0"
int c = 0x256;
_int64
//int





Привет _winnie и aruslan-у.
Метки:

  • 1
И тебе привет :)
Настойчивость впечатляет, молодец, жжошь :)

Оно конечно технически невозможно - ибо требует развитых операций по работе с контекстом (тут привет скорее от шаблонов и особенно их специализаций).
Ну и препроцессора.
В противном случае это всё на уровне C# такое будет.

С другой стороны - и замечательно когда хотя бы как C# :)
Могу попробовать найти все мои тесты boundary cases парсера, если интересно. Ибо тут только камменты, а там много всякого интересного.
По идее их и так полно в инете должно быть, впрочем.

P.S. А разве в googleapp модно не на петоне писать?

Наверно, сильные заморочки с препроцессором не нужны для достижения поставленных целей :) А то так и до подгрузки инклюдных файлов дойдёт :) Я лучше сделаю интеграцию ссылок на gl-ные функции.

Если есть пару замечательных примеров, то давай. Потестирую. :)

> А разве в googleapp модно не на петоне писать?
Чь-то? Вот как с тобой разговаривать на улице, без Яндыкса и Википедии?

А чего за полночи? ночью дрыхать надо, а не колорайзеры писать.

ничччо когда-нибудь тебе надоест ... ниччччо. ага.

Та мне постоянно надоедает :) Это просто очередной прилив бодрости.

Это был баг, вернее недоделка, которую я пропустил, но ещё тогда же и доделал. Лень было обновлять этот пост.

Local girls doing bad things Go Here dld.bz/chwZN

  • 1
?

Log in

No account? Create an account