Python syntax in Lisp and Scheme
Pascal Bourguignon
spam at thalassa.informatimago.com
Tue Oct 7 23:33:44 EDT 2003
More information about the Python-list mailing list
Tue Oct 7 23:33:44 EDT 2003
- Previous message (by thread): Python syntax in Lisp and Scheme
- Next message (by thread): Python syntax in Lisp and Scheme
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
prunesquallor at comcast.net writes: > Excerpts from real C header files: > > #define FromHex(n) (((n) >= 'A') ? ((n) + 10 - 'A') : ((n) - '0')) > #define StreamFromFOURCC(fcc) ((WORD) ((FromHex(LOBYTE(LOWORD(fcc))) << 4) + (FromHex(HIBYTE(LOWORD(fcc)))))) > #define ToHex(n) ((BYTE) (((n) > 9) ? ((n) - 10 + 'A') : ((n) + '0'))) > #define MAKEAVICKID(tcc,stream) MAKELONG((ToHex((stream) & 0x0f) << 8) | (ToHex(((stream) & 0xf0) >> 4)),tcc) > > #define va_arg(AP, TYPE) \ > (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)), \ > *((TYPE *) (void *) ((char *) (AP) \ > - ((sizeof (TYPE) < __va_rounded_size (char) \ > ? sizeof (TYPE) : __va_rounded_size (TYPE)))))) > > #define PLAUSIBLE_BLOCK_START_P(addr, offset) \ > ((*((format_word *) \ > (((char *) (addr)) + ((offset) - (sizeof (format_word)))))) == \ > ((BYTE_OFFSET_TO_OFFSET_WORD(offset)))) :-) However, taking sources written by the same programmer (me), at about the same period, I get thrice or twice as many parenthesis in Lisp than in C: ------- ----- ----- ------------------------------------ (-paren loc (/lin Language ------- ----- ----- ------------------------------------ 160 / 627 = 0.255 COBOL sources. 6697 / 18968 = 0.353 C sources (.h + .c) 327 / 825 = 0.396 Java sources. 9071 / 18968 = 0.478 C sources, counting both ( and { 15 / 31 = 0.484 FORTRAN-IV (I've got only one toy program). 15224 / 29990 = 0.508 Modula-2 sources (* comments! *). 14754 / 13890 = 1.062 Lisp sources. ------- ----- ----- ------------------------------------ That's not much more... for f in *.{h,c,lisp} ; do printf "%6d " $( sed -e 's/[^(]//g'<$f|tr -d '\012'|wc -c ) ; wc $f ; done|awk '{p=$1;l=$2;w=$3;c=$4;n=$5;printf "%6d / %6d = %6.3f %s\n",p,l,p/l,n;pt+=p;lt+=l;}END{printf "%6d / %6d = %6.3f %s\n",pt,lt,pt/lt,"Total";}' -- __Pascal_Bourguignon__ http://www.informatimago.com/ Do not adjust your mind, there is a fault in reality.
- Previous message (by thread): Python syntax in Lisp and Scheme
- Next message (by thread): Python syntax in Lisp and Scheme
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list