qqwe Ты можешь хотя бы в одной теме держать себя в руках? Опыта достаточно, мало времени. Мне выгоднее нанять такого как ты, чем делать это самому. 1:1
по опыту перепиливания Lua на С++, "взять движок и что-то туда добавить" - это дело некольких месяцев, особенно если движок это куча legacy кода на Си, в лучшем случае только с регрессионными тестами. по теме - если платформа - винда, то C++\CLI и любой .NET язык.
GoldFinch + хорошие проблемы если внезапно придется сменить винду на что нибудь другое. _DEN_ я уже упоминал, что холерик. однако держу себя в руках в плане растопыривания пальцев, правильно? кроме того, топорщащиеся пальцы - довольно достаточный признак того, что чел не совсем в теме относительно которой топорщится. или застояся в стойле. ну что ж, если сойдемся в цене, требованиях, условиях к работе и оплате, то велкам, попробую вам выделить несколько часов ночью, если вам это выгодно (и проект достаточно интересный)
Дык, какой бы движок ни взяли - все равно ж придется допиливать, если собираетесь держать скрипты в XML в читабельно-редактируемом виде - какие-нибудь из допустимых языком символов однозначно придется эскейпить/манглить. Причем выборочно, ведь если тупо воспользоваться общими функциями, вручную читать/править станет совсем криво. Так что среди необходимых объемов "допиливания" исходные опасения окажутся лишь небольшой частью. И если движок поддерживает eval-функциональность, то вполне имеет смысл все "допиливание" возложить на язык движка, и тем самым сэкономить время.
Подниму тему. А что скажете насчет руби? Многие считают его достойной альтернативой питону (+в руби нет дурацких отступов) + руби считается как бы "усовершенствованным перлом"? Сам я не на нем не кодил (за исключением каких-то хелловорлдов), просто интересно.
Sekretarsha end, }, или что-то еще - это не важно. Смысл в том, что отступы питона придется подружить с отступами XML-я. А как это красиво сделать - с первого взгляда не ясно.
Раз уж подняли тему - средствами самого же питона для питона легко можно сварганить конвертер из отступного синтаксиса в строконезависимый и обратно, с помощью модуля tokenizer. В нем уже реализованы распознаватели всех токенов, в том числе и INDENT/DEDENT и NEWLINE, которые можно легко в потоке заменить токенами-словами, скажем BEGIN и END и точкозапятыми. И все это автоматически с учетом возможности вхождения этих последовательностей символов внутри строковых литералов, открытых скобок и проч. Уложится буквально в пару-тройку десятков строк.
s_enc = s.encode(....) s = s_enc.decode(....) http://docs.python.org/howto/unicode.html http://www.tutorialspoint.com/python/string_encode.htm
zxcv Не-не-не, Девид Блейн. base64 в XML хранить нельзя - в XML питон должен оставаться читабельным и редактировабельным.
if varA <varB and varC="string" or varD> 2 : frm http://docs.python.org/howto/unicode.html . rd pls bfr wrt + -> s/( )|\t/\\t/s/\n/\\n/ <- s/\\t/ /s/\\n/\n/
_DEN_, гляньте вот на результат работы такого кода Код (Text): from tokenize import tokenize from token import tok_name for t in tokenize(open("какой-то-Питон-файл","rb").readline): print(tok_name[t.type].ljust(10), repr(t.string)) (это Питон 3, второй я не знаю, там могут быть отличия относительно различения юникодовых строк и байтовых последовательностей). Фактически синтаксический анализатор Питона работает уже не с файлом, а с результатами итератора, возвращаемого токенайзером, то есть с линейной последовательностью типизированных токенов. Гляньте на токены типов INDENT, DEDENT и NEWLINE. Их в этой последовательности можно практически взаимнооднозначно заменить на токены типа NAME и OP с именами, скажем, "BEGIN", "END" и ";" для строконезависимого сохранения в XML, и наоборот.
О! а можно еще и вот так извратиться, сохраняя исходный синтаксис питона, и тогда не надо шаманства с токенами Код (Text): <script name='Euclid' language='Python'> <source> <line>while a!=b:</line> <line> if a>b:</line> <line> a=a-b</line> <line> else:</line> <line> b=b-a</line> </source> </script> И волки (XML) сыты, и овцы (Python) целы