BBCode - Recognizing bbcode

Markdown modifies everything on its sight. It takes care of HTML, but has no recognition of BBCode.
This leads to death and destruction, like emphasizing some code into [code] tags, or creating [url] tags inside other [url] tags.

In order to address that problem, some extensions are created in order to change _only_ the content into tags that could be negatively affected by the Markdown converting process.
Actually, these tags are
* [m]/[math]: math formulas uses a lot of * and _
* [code]: I hope I don't have to explain it
* [url]: generating [url]s into [url]s is... stupid?