oppositus ([info]oppositus) wrote,
@ 2009-11-06 00:16:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Current mood:да!!!
Entry tags:гении среди нас

Изобретаю велосипед
Долго я над этим велосипедом мучался. Лет пять, наверное. Не то, чтобы вещь нужная, а так, чисто для себя, попрограммировать в свободное время.

Наконец, расписал этот велосипед по BNF - и, о чудо! Одно колесо сразу сделал за час!

<number> ::= <opt-sign> <mantissa> <opt-exponent> <opt-power>
<opt-sign> ::= "+" | "-" | ""
<mantissa> ::= <digit>*
<opt-exponent> ::= "." <digit>* | ""
<opt-power> ::= <E> <opt-sign> <digit>* | ""
<E> ::= "E" | "e"
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"


Все правильные числа парсятся правильно, неправильные - кидают исключения. Прямо конфетка!

Вот что значит наука! Изобретателю велосипедов без нее никуда!!!




(13 comments) - (Post a new comment)


[info]admiral_loknar
2009-11-05 10:17 pm UTC (link)
PCRE религия не позволяет юзать?

(Reply to this) (Thread)


[info]oppositus
2009-11-05 11:14 pm UTC (link)
Ага. Я на самом низком уровне велосипед пишу. Посимвольный разбор математических выражений.

(Reply to this) (Parent)


[info]stopmoose
2009-11-06 07:08 am UTC (link)
контекстно-свободную грамматику осилили? ну прямо достижение так достижение :)

(Reply to this) (Thread)


[info]oppositus
2009-11-06 07:48 am UTC (link)
То ли еще будет!

(Reply to this) (Parent)


[info]potan
2009-11-06 11:23 am UTC (link)
Следующим этапом будут монадические парсеры?

(Reply to this) (Thread)


[info]oppositus
2009-11-06 11:34 am UTC (link)
Хаскель, конечно, ленивый язык. Но я еще ленивее!!! Может и дойдут руки.

(Reply to this) (Parent)(Thread)


[info]potan
2009-11-06 12:11 pm UTC (link)
Ну так монадические парсеры писать проще, чем регулярные выражения изобретать. Даже на джаваскрипте ;-).

(Reply to this) (Parent)(Thread)


[info]oppositus
2009-11-06 12:18 pm UTC (link)
А почитать что-нибудь вводное по этой теме? Или сразу не вводное, а глубокое?

(Reply to this) (Parent)(Thread)


[info]potan
2009-11-06 12:39 pm UTC (link)
Здесь достаточно просто описано.

(Reply to this) (Parent)(Thread)


[info]oppositus
2009-11-06 02:05 pm UTC (link)
Ага, tnx.

(Reply to this) (Parent)


[info]oppositus
2009-11-06 04:18 pm UTC (link)
Вспомнил, я это в книге darkus'а читал. Но книга для изучения Хаскеля мало подходит. Этот раздел просто не понял.

(Reply to this) (Parent)(Thread)


[info]potan
2009-11-09 08:50 am UTC (link)
От языка там требуются только замыкания и что-то вроде списков. Даже монады только упрощают синтаксис, но для понимания не требуются.

(Reply to this) (Parent)(Thread)


[info]oppositus
2009-11-09 09:31 am UTC (link)
Да, я почти понял. Буду читать до посинения. :)

(Reply to this) (Parent)


(13 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…