...Naaaa....
I personally think you need to tackle it like 4 or 5 times then you will have a clue!
First Time? It'll be all screwed up... Second time, you'll have planned more and it will get much further... but will be limited.....
Third time - you start getting alot of the concepts people talk about in those books - but its still junk for the most part because you forgot to make recursive expresion evaluators
Forth time - almost perfect except your compiled code isn't to optimized because your expression evaluator did reduce things to the simplest terms - but your compiler directives are working and you hashed alot of assembly code already so you are getting quite decent
Fifth time - you have a compielr that is starting to kick butt... However you know know so much about the subject you truly understand how much more you probably need to add... for various optimizations that you think maybe the user should be able to adjust etc.
Just takes determination.