Abstract NC program interpreting is one of the most important tasks of CNC in machine tool system. The existing CNC systems only support vendor-specific NC program input, which restrict the applying of other similar functional NC programs with different program format. Especially for those users owning several machine tools with different CNC from the same provider, the diversity of NC programs dramatically increases their cost and time on operator training and machine tool maintenance. In order to deal with the variety of NC program, an intelligent NC program processor (NCPP) is proposed in this paper. The proposed NCPP has a novel structure with separated NC specification dictionary and processing engine, which ease the CNC system to adapt to a new NC program specification by only updating the NC specification dictionary (NCSD). This paper explains the NC specification dictionary structure by using EBNF representation, which is further implemented in tool command language, an embedded script language tool. Meanwhile, the unchanged processing engine has been designed from a compiler's point of view to process the data dictionary. A NCPP prototype is built to evaluate the proposed design. Case study shows that the proposed NCPP handles different NC program inputs successfully.