想自己做一个语言解释器,但对语句分析不清楚,望指点一下,该怎么解决

想自己做一个语言解释器,但对语句分析不清楚,望指点一下
想自己做一个语言解释器,但不知道怎么分析语句
比如汇编的

PUSH 0
POP EAX
MOV EAX, 12H
RETN

这样,是逐字符读入,分析还是用正则匹配好?
我在网吧搜了一个关于解释器的结果,没什么想法。希望大家给点建议,怎么分析语句,谢谢

------解决方案--------------------
一般要先解析成词,然后再对词来处理吧。
比如 PUSH 0先解出 ‘PUSH’和‘0’来

------解决方案--------------------
慢慢学编译原理吧。。。
------解决方案--------------------
给你推荐一下《java编程艺术》中第三章中就有一个解析器的例子,非常详细,可以看一下里面是如何实现的。
------解决方案--------------------
有个开源的yacc&lex,可以参考一下
------解决方案--------------------
java版的有javacc
------解决方案--------------------
推荐boost库的spirit,c++语法的BNF,完全内嵌到c++。