crypt of decay - October 1st, 2013 [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

October 1st, 2013

слушаю "Русалочку" [Oct. 1st, 2013|11:24 am]
это которая техноопера Аргонова. мне по нраву. того, кто хочет написать что-то вроде «как/зачем ты слушаешь это говно?!» заранее посылаю нахуй.
Link28 meows|meow!

k8jam [Oct. 1st, 2013|09:45 pm]
сильно переделал сканер (это который лексер, гыгы). ВНИМАНИЕ, несуществующие пользователи: возможны обломы с ранее работавшими правилами. зато новый сканер нужен был для нового экспандера (да, и это новое). закавыченые строки в селекторах теперь обрабатываются самим экспандером; соответственно, сканер их не должен никак преобразовывать. зачем? а вот для такого, например: $(pth:Q=\\/). эта фигня заэкранирует все слэши. раньше пришлось бы писать $(pth:Q=\\\\/). фуфуфуфу.

также добавил «~=» — сравнение строки с регуляркой. скомпилированые регулярки же теперь кэшируются, так что это весьма дёшево и зачастую быстрее, чем сравнение с shell pattern. ну, и точно быстрее, чем вызов правила Match, которое мало того, что имеет оверхэд на вызов, так ещё и формирует список-результат, который нахуй не упёрся в этом случае.

также правило Match теперь возвращает в конце списка $0 (т.е. полную отматченую строку).

заодно новый сканер будет плакать, если увидит что-то подозрительное. например, неалфавитноцифровой токен, перед которым забыли пробел. или конструкции типа (a), ($a), $a — в большинстве случаев это тупо ошибки. а если нет — достаточно в первом случае отделить скобки пробелами, а в остальных — заключить строку в двойные кавычки.

кстати, новый сканер нашёл несколько таких ошибок в Jambase.
Linkmeow!

navigation
[ viewing | October 1st, 2013 ]
[ go | Previous Day|Next Day ]