NC program processing plays a vital role in CNC machining. Existing CNC systems support only CNC builder-specific NC program input and this limits the potential application of many NC programs that have the same functions with different formats. In order to manage the variety of NC programs available, a universal NC program processor was developed that can accept and process any kind of NC program. This processor consists of two main components: the first is an NC dictionary, which is generated by an NC specification dictionary generator from the corresponding NC specification, and the second is an interpreting engine, which checks the different input NC programs and generates canonical machining functions in terms of the NC specification dictionary and the canonical machining function library. Finally, a prototype system is built to evaluate the proposed design followed by a successful case study.