Today’s CNC machines have enormous capabilities
such as multi-axis control, multi-process manufacture,
etc. In the mean time, these capabilities have
complicated the programming tasks and made machine
tools less adaptable. CNC machines actually use a 50-
year old language ISO6983 (also called G-code) [1].
Some limitations derived by the use of such standard are
the following: i) in order to machine a part designed with
a CAD/CAM software using an actual CNC machine it
is required to convert, through the use of a postprocessing
module, the CAM project into a ISO6983
program, executable on the available machine; ii)
ISO6983 defines the statements syntax but, in some
cases, leaves ambiguities in the related semantics [2]; iii)
ISO6983 allows describing the tool centre path with
respect to the machine axes rather than the features to be
machined; iv) vendors usually supplement the language
with further commands to provide new features, but
creating machine-specific languages.