* * * * *

“Some people, when confronted with a problem, think ‘I know, I'll use regular
                  expressions.’ Now they have two problems.”

All I can say is that I'm very happy that I'm writing “Project: Sippy-Cup
[1]” in Lua [2]. Lua not only makes text manipulation easy, (heck, most
scripting languages like Python [3] or Ruby [4] can easily manipulate text)
but also that it has the wonderful LPeg [5] that makes writing parsers not
only easy, but easier to understand, unlike regular expressions (Perhaps it's
a bit unfair to regular expressions to force them into parsing email
addresses, but hey, most hipster wannabe-programmers these days will reach
for regular expressions because they're so easy and right there and it'll
work about 90% of the time. Bah! The LPeg code I wrote is perhaps a dozen
lines, and that's including comments—it's pretty much the BNF lifted right
out of the email address specification and not a wall of text where every
other character is a backslash.) [6].

And processing SIP (Session Initiation Protocol) messages is pretty much
nothing but text parsing and manipulation, with a little bit of networking on
the side.

[1] gopher://gopher.conman.org/0Phlog:2014/03/05.1
[2] http://www.lua.org/
[3] https://www.python.org/
[4] https://www.ruby-lang.org/
[5] http://www.inf.puc-rio.br/~roberto/lpeg/
[6] http://ex-parrot.com/~pdw/Mail-RFC822-Address.html

Email author at [email protected]