Perhaps instead, adapt a screenreader that understood C syntax, and instead of reading punctuation would read it in a higher level form, such as:
for (int i; i < 10; ++i)
"for each int i from 0 to 10"
instead of: "for left paren int i semicolon i lessthan 10 semicolon
plusplus i right paren)"