add printer
Finally, this project is end.

What I did in this last push:
1. Added required memory printer and state printer including limit their outputs
2. Fixed some declearations
3. Test compling
4. Enjoy this moment