Project Notes

All source code can be found at SourceForge.

Motivation

I originally started this project because I was interested in the power of language-based cam programming, but frustrated at the lack of open-source versions available to tinker with. Since there were virtually no open-source cam projects anyway, I began programming a completely new version of Apt that I called Aptos, based on the language specification ANSI/INCITS 37-1999 .

Aptos

I managed to get much of the front-end parsing and syntax tree generation done for Aptos, but the hard part starts when it comes time to implement cut-vector generation, which takes place in section 2 of the program. It is reasonably easy to understand the concepts of this portion of the program, but the implementation is quite messy. Realizing that other people far smarter than I had already solved most of these issues, I began searching for people that might be able to point me in the right direction. Luckily, I found someone who graciously provided me with the entire source code for IBM's old Apt for the s/360. I originally just wanted to see how they did things. I had no desire to port it, since, among other things, the code was early Fortran with 6 letter identifiers and no structured progamming, and lots of it was in s/360 assembly. I began by converting it to C using f2c since I didn't know much Fortran. That helped me some, but the code is really hard to follow with all the goto's and cryptic identifiers. I started compiling some of it so I could follow along in a debugger. Before I knew it, I had enough compiled that it started breathing on its own. I named that package apt360.

Apt360

I haven't abandoned Aptos, but apt360 will fill a need that I have now: to have a free, open source Apt translator that will allow me and hopefully others to experiment with a language-based cam program. After some use of apt360, I'm hoping to have a better understanding of what to do when I get back to Aptos.

Post Processing

There is another module, called postp, that will hopefully someday be a full-fledged postprocessor that will work with apt360 or Aptos, or any other cam program someone would like to write.