пятница, 9 сентября 2011 г.

RDot 0.9.3

Таки удалось победить заголовки, включая все сложные случаи. Также доделал обработку алиасов и module_function. Остались ограничения на вложенность скобок и размещение символа комментария в строках значений параметров по-умолчанию... Но в этих направлениях движение уже нецелесообразно — усилий много, а смысла мало.

Поскольку дополнительно я ввел новый ключ — --hide-arguments, который позволяет отказаться от аргументов методов, то решил и подвинуть версию уже в третьей цифре — RDot 0.9.3.

Поясню ограничения на примерах:

def alpha(a = (1 + 2)) # Нормально обработается
end

def beta a = (2 * (3 + 4)) # Нормально обработается
end

def gamma(a = (2 * (3 + 4))) # Вот тут уже не потянет
end

def delta(x = "#") # Не потянет
end

В рамках классических регулярных выражений эти моменты полноценно не решаются, нужно писать парсер, что трудозатратно, или переходить на Ruby 1.9, где появились рекурсивные регулярки...

Комментариев нет:

Отправить комментарий