Anonymous
usernameak
я говнокодер
Anonymous
а что есть адекватное?
usernameak
я говнокодер
https://gist.github.com/usernameak/759ad596eb1542084f8fb4640c8de4f7
usernameak
Berkus
usernameak
если это парсер чего-то простого то убей себя
.section ROUT
.use .routines
.section REGI
register(scope=local;size=ptr) l0
.section CODE
.routine(end=:endHW) HW
.string(reg=.a0) "Hello, World!\0"
heapallocarr l0 .a0
nativecall 1 l0
return
.label :endHW
call HW
usernameak
подобного кода
Berkus
возьми нормальный lexer и parser и сделай простой recursive descent parser
usernameak
usernameak
usernameak
в C есть что то вроде trim?
usernameak
ладно, будем считать что да
Anonymous
Anonymous
Berkus
да можно руками написать, там несложные пермутации
🦥Alex Fails
/cppref next_permutation
FailsBot
http://en.cppreference.com/w/cpp/algorithm/next_permutation
usernameak
Deleted Account
Evgenii
Anonymous
Anonymous
и будет ещё один квест 'пойми, как оно работает'
Berkus
openssl вообще охуенная либа
/* SSL_set_ecdh_auto returns one. */
#define SSL_set_ecdh_auto(ssl, onoff) 1
такого там можно насмотреться
Nik
а что, на чистой сишке можно писать по другому?
usernameak
Stanislav
функция из стд либы (капитан мод)
Stanislav
man 3 getline
Anonymous
я скачал билд clang'a, вот для парсинга AST нужен clang-c/Index.h. Какие либы нужно слинковать чтобы все было ОК? И есть ли какой-нибудь FindLibClang для CMake?
Berkus
Anonymous
Вот какие в билде лежат. Одного libclang.lib будет достаточно или нет?
Anonymous
ммм, вуду-программирование ^^
Anonymous
ну ок, попробую
Anonymous
просто планирую написать генератор биндингов embind для emscripten
Anonymous
от идеи компилировать шланг своими силами я отказался... Время жалко
Anonymous
cmake . отработает нормально? Или надо что-то ручками ещё поставить?
Anonymous
меня так-то интересует меньшая часть шланга, чисто чтобы траверсить AST кода
Anonymous
btw, что-нибудь слышно по поводу кастомных атрибутов в С++?
Berkus
Berkus
с дефолтными опциями по идее нормально должен собраться, хотя всякие питоны там можно повыключать
Anonymous
разве я не могу средствами студии через тот же msbuild (или как его там?) собрать?
Berkus
Anonymous
это да, понятно
Anonymous
хм, ладно
Anonymous
попробую
Anonymous
все же свежак должен быть получше имхо
Anonymous
гитхабовский от svn'ого чем-то отличается?
Berkus
тем что быстрее на несколько порядков
Berkus
раз в 500 примерно
Berkus
+
Anonymous
ок, клонирую
Berkus
ок, клонирую
у меня есть билдскрипт со всеми свистоперделками если что там можно подсмотреть https://github.com/metta-systems/metta/blob/develop/build_toolchain.sh
Anonymous
о, ништяк
Anonymous
thanks
Giperion
@nuke_bird Зачем тебе clang? чё пилишь?
Anonymous
Giperion
ясно ясно
Anonymous
Так, а как там дела с python 3?
Я хотел питоном поиграться, через pip скачал кланг. Меня послали куда подальше, мол "нужен python 2"
Anonymous
и как там обстановка с багами у питонового биндинга? Читал старые issue, там раньше названия узлов передавались как "None", а в цпп версии все было ОК
Berkus
Anonymous
переставил через pip3, все равно:
Traceback (most recent call last):
File ".\p.py", line 2, in <module>
import clang.cindex
File "C:\Users\nuke_bird\AppData\Local\Programs\Python\Python36-32\lib\site-packages\clang\__init__.py", line 29, in <module>
raise Exception("Only Python 2 is supported.")
Exception: Only Python 2 is supported.
Крылатый
Ну так написано же — только второй питон.
Крылатый
Перепишщи биндинг на третий питон и попробуй отослать им пулл реквест.
Anonymous
Pavel
#spam
Berkus
/ban
Alexey
Привет.
Alexey
У меня вопрос.
Alexey
Если кто знает и подскажет, буду очень благодарен.
Alexey
std::cout << is_void<void>::value << '\n';
Alexey
Вот тут вот ::value это что такое.
Alexey
template<typename T> void good(std::vector<T> x, typename identity<T>::type value = 1);
Alexey
И вот тут ::type
Alexey
Вот.
Alexey
Весь референс излазил, но что это за штуки, найти так и не смог.
Alexey
:(