Documentation Generator For Sas In Python

After playing around with pycco I decided to give a go of creating a custom one for SAS. When applying pycco onto SAS, you will run into strange formatting since when you have: some sas code /*a comment*/ you would expect the comment to reference that line of code. pycco handles this correctly. In comparison since SAS doesn’t have a concept of “functions” (yes there are macros, but lets ignore that for a moment). [Read More]

I Wish Sas By Statement Was Retired

I’ve been debating whether by statement should be retained in Stan. This is quite easily my least favourite “feature” of SAS. The modern methodology of “split-apply-combine” in R and Pandas is far superior and easier to read compared with the many hacks which come along. For example: data class; set sashelp.class; by sex; /*just pretend its been sorted...*/ retain cumulative_age name_list; if first.sex then do; cumulative_age = 0; name_list = ''; end; cumulative_age = cumulative_age + age; name_list = catx(', ', name); if last. [Read More]

What I Have Learnt Writing A Sas Parser

So I’ve just released v0.01-alpha of my SAS transcompiler to Python (Stan). Here is just a list of things I’ve learnt : SAS very similar to a PL\0 language by statements are inferior to the split-apply-combine strategy pyparsing makes life very easy (compared with dealing with lots of regex) iPython magics are ridiculously easy to write writing Python packages isn’t that hard, but there is a lot of extraneous options Some of the (many) things which are missing: [Read More]