MacTrove  — Classic Macintosh Archive
 
 Home Software Hardware Docs Magazines Forums Search
Search:   Software, forums, magazines & more

Dcl Ansi C

File dcl-ansi-c.hqx
Size 40.5 KB
Category Development
↓ Download dcl-ansi-c.hqx

Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute corrections, and join the community chat.

About

C's method of declaring variables and functions is one of the most confusing parts of the language. Even old pros will double- and triple-check their arrays of pointers. And the pathological cases are truly bizarre: "int(Int(int(Int)))" declares a function that accepts and returns an int, but "int(Int(int(int)))" declares a function that accepts another function, and _that_ function accepts and returns an int. Weird stuff. "dcl-ANSI" lets you type in a declaration, hit a few keys, and see what it means, in plain English. Tell it "int (*x[])()" and it tells you x is "type array[] of pointer to function with undefined parameters returning type int." It's based on the "dcl" program in section 5.12 of K&R, but, as the name implies, it fully understands ANSI. (Well, OK, there are a few limitations. See the readme for details.) And it's public domain. There are two editions of this utility. It was first created as a BBEdit extension, because (1) I like BBEdit and (2) BBEdit provides a particularly nice environment for hacks like this to live in. If you keep BBEdit open while programming, you may prefer this version. Otherwise, you'll probably want to use the second edition, the FKEY, because it's simpler: just select your declaration, hit cmd-C and cmd-shift-9 [*], and the English explanation is in the clipboard, waiting for you to paste it somewhere. This file contains both editions and their complete Think C 5 source code. Suggested archive destination: .../source/c/dcl-ansi.hqx -- Jamie McCarthy Internet: k044477@kzoo.edu AppleLink: j.mccarthy

MacTrove — Classic Macintosh Archive — Full site | Software | Search
Classic version — compatible with older browsers.