Very simple skeleton for a XMPP chatbot. It will start as an expense tracking bot.
Core written in C using libstrophe. Grammar for messages is under src/grammar/ written in Lex + Yacc.
If the necessity arises this should be a generic interface for a bot that exposes functions such as message_handler that can parse and react to messages.