- 1
http://coliru.stacked-crooked.com/a/a5ba510a2075393f
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+125
http://coliru.stacked-crooked.com/a/a5ba510a2075393f
Под другим ником опубликовал чуть раньше:
http://govnokod.ru/12937
Сначала думал, что bormand это левша в программировании, раз смог засунуть boost::bind в грамматику boost::spirit. А, судя по комментарию http://govnokod.ru/12937#comment175990, еще и boost::phoenix::arg1 засунул в boost::bind, но затем пришел катарсис, и я чуть пофиксил на то, что должно быть.
Но главный вопрос: зачем создавать функтор с помощью boost::spirit. Идея, конечно, местами хорошая, но зачем?
P.S.: Время компиляции примера 40с на моей машине.
А как еще поступить, если эти предикаты описываются в конфиге? Не вкомпиливать же их.
Спирт был выбран только по одной причине - хотелось попробовать поюзать спирт. С тем же успехом я мог и сабстрингом распарсить строку и собрать по ней функтор ;)
Так лучше, раз только конфиг нужно спарсить. Спирит для требовательных по времени задач.
Можешь сказать, что находится в object?
Для нетребовательных?
> Можешь сказать, что находится в object?
> В чем суть твоего кода? Можно в конфиге написать функцию на бормандС++?
object - хрень-со-свойствами, базовая сущность того игрового сервера, на который я давным-давно забил...
Эти предикаты писались в ресурсных файлах и использовались для переключения картинок и анимашек: например при истинности предиката "hp < 10" ящик показывался треснутым, а анимация горящего костра включалась по предикату "burning". В результате эта херня давала какую-никакую развязку между "моделью" (карта, на которой расставлены object'ы) и "видом" (поток дельта-фреймов для клиента).
луа бы лучше завёз
А тебя я не люблю.
Хорошо бродить по свету.
С карамелькой за щекой.
А ещё одну для друга.
Взять за щёку про запас
Ты точно время выполнения не перепутал с временем компиляции?
Более чем уверен, что bison+flex на мало-мальски сложной грамматике порвут его как тузик грелку даже по скорости исполнения, не говоря уж об удобстве разработки.
Несложного нету, к сожалению. Да и на несложных неинтересно тестить, т.к. ты не успеешь сойти с ума от времени компиляции и чтения выхлопов при ошибках в грамматике ;)
http://www.json.org/fatfree.html
Если устроит - напишу к ней бизоний велосипед, давненько не брал я в руки шашек...
https://github.com/sehe/spirit-v2-json/blob/nowide/JSON.cpp
перед салуном с двумя пистолетами в кабуре и в ковбойских шляпах
По 10000 раз парсил эту строку http://pastebin.com/48ENfKdr (оптимизация -O3, компилятор g++ 4.81)
Spirit 1.79 - 1.89 с
Bison 2.09 - 2.20 с
Подростковый алкоголизм
в город гнал гусей
https://i.postimg.cc/d1LnK77X/image.png
Ich darf похоже на нидерландское "ik durf" (durwen это to dare, причем это модальный глагол с "te", что не обычно: Ik durf te slapen).
soll похоже на shall (которое 100 лет назад значило первое лицо, а теперь значит обязанность)
https://govnokod.xyz/_28298/#comment-818492
Забавно.