Punctuation in Code

2016-02-18

After Calhoun’s «Punctuation in Novels» I thought I’d try punctuation in code.

Let’s render our code down by removing all the letters numbers and spaces.

Let’s choose a C file, more or less at random, and remove letters, numbers, and whitespace:

/**++++,,*-*(),,*..**,*,*:*.*,.*.*,*/.*.**.**``''*,,,**.*,,,,,*(,,*;,,;)*,,*,()*
,*.*-*().**,,,*,*,***,.**"".*,*.*,,,*,*,,*,*.*-*----*//*(..**)..,.*/#(_)&&!()[]=
"@(#)..()//";#/*_*/#</.>#</.>#</.>#</.>#</.>#</.>#<.>#<.>#<.>#<.>#<.>#<.>##_#_##
___/*-*/#()&&(>=)&&(_)#<.>#<.>##"..//."##(__)#<..//.>##_#()(/**/)##()((_))###[]=
"*.:\"%\",\"%\"";*__[+];;*_[];[*];__[];/**/*=;=;__(*,*)__;__(*,**,*)__;#(**,)__;
##>####/*.*/####{;_[];};{_;;};#__;##(*,){(_.&_){=;(,);___();}}##(,)/**/##_()\{\+
=;\(>){\____(_);\();\}\}()#_(,)\{\(()+()>){\____(_);\();\}\}()*(*,,*,){*;_*;;_*,
*;*,**,**;,,,,;,_;=;[];*;(*_)(*);=;._=;=->+;(){_:_:_=_;;_:_=_;;:();/*();*/}/***/
=&->;=(->);=(->);=;=;=->;_();(!=){____(_);();}=_(->,,,,);((<)||!(*_)()){____(_);
();}_(+);(==_||==_){/*_()*;*(..,-).*/=()+;/*\*/(>=){____(_);();}._=;+=;-=;/*,_.*
/=._;}=_;*=;._=_;=__;*=;.__=__;=;_=;(-->&&<&&!_){=_(->,,,,);((<)||!(*_)()){_++;;
}+=;/**/_(,*+);=_();+=;/**/=_();+=+;/*,*/=_();+=;/**/_(,);=+;(!=_){/*-??*/+=;;/*
-_++?*/}((==_||==_)&&==_){(>=&_[-]);=_(->,,,,);((<)||!(*_)()){_++;;}+=;(!=){____
(_);();}/*.*/*++=;=()+;/*\*/(>=){_++;;}+=;-=;/*.*/=()+;/*\*/(>||>=){_++;;}(,);._
=;+=;-=;;}(==_&&==_){=_(->,,,,);(<||!_()){_++;;}+=;(!=){____(_);();}/*.*/=()+;/*
\*/(>||>=){_++;;}(,);=;+=;-=;;}(!=){/**,**.*/((_.&__)==){(_|_,"*.:\"%%%\",\"%\""
,,_(_),_(),_());}+=;;/*-_++?*/}(){_:((,)!=){(_|_,,,);+=;;/*-_++?*/}=_(->,,,,);((
<)||!_()){_++;;}#___+=;(!=){____(_);();}(!)._=;(<&_[-])*++=;=-;(!=-){=()+;/*\*/(
>=){_++;;}+=;-=;};#._=;(_.&__){=()+;/*\*/(>=){_++;;}+=;-=;__(&,&,&);}____(_);(&)
;#_:_:((._,)!=){(_|_,,._,);+=;;/*-_++?*/}(!=._){+=;;}(!){;._=;=()+;/*\*/+=;-=;}/
*:,*--*/-=()-((_)%());+=()-((_)%());(+>=&[]){("(%)\",);_++;;}(>=&__[-]){(!++){("
(%)\",);}+=;;}(*++=,,);+=;-=;+=;(!=){____(_);();};:();}(!_)++;}(){*=;*=;#()/**:*
-""*,*/(_.&&>&&==_)(__,);#/**/(!._){=()+;/*\*/(>||>=)_;(,);._=;+=;-=;}(_.&__)__(
&,&,&);____(_);(&);}_:____(_);();}*(*,);__()*(*){*;(____(&_,)==-){____(_);();}(_
.&__){=(,_);()();}((,_));}*(*,){{*;_*;};*;*;*;,,,;*;(____(&_,)==-){____(_);();}(
){_:=;=_;;_:=;=_;;:____(_);___();();}._=;._=;/**',-.*_()*.*/(!(,'.')&&(=__()))=;
/**/,*.*/(([]))(=;;++){(!*){(*--=='.');/**-,.*'*.*/(_(,,_)<=){____(__);();}(,,);
[]='\';=+;=-;._=;._=_;_[]=;__[]=(*)_;__[]=;.__=__;(_.&__)__(&,&,&);____(_);(&);}
(!(*)&&*!='.');}((([])&&(,':')!=)||[]==':')(=;;++){(!*){(*--=='.');/**--,.*'*.*/
(_(,,_)<=){____(__);();}(,,);[]='\';=+;=-;._=;._=_;_[]=;__[]=(*)_;__[]=;.__=__;_
___(_);(&);}(!(*)&&*!=':'&&*!='.');}.==(*)();((=____(&_,,_,,.->,,&.,,,,))<){(.!=
)(.);("_(%)\",);(==)(_(,));();}=(.,,,);(.!=)(.);;}__()*(*,_,){_*=(_*);_[]={,,,,,
,,,,,,};_[]={,,,,,,,,,,,};;_;{*;_*;};*_;*;[+],*=;#*;**;__;[+];#/**/(____(&_,)==-
){____(_);();}(==_&&==&&(!(,,)||!(,,))){/*.*/+=;+=;=_;=;}(){_:=;;_:=;;:___();___
_(_);();}(!=){___();____(_);();}(){_:()(,"%.%.%.%.-.",([]&),([]&),([]&),([]&));;
_:=;(=-;>=;--){+=((,"%.%.",[]&,([]>>)&));}(,".");;:();}.=_=(*)();=____(&_,,_,_,.
->,,&.,,,,);(<&&==_&&(_.&_)==){(,".");=____(&_,,_,_,.->,.!=_?:,&.,,,,);}(<){(.!=
_)(.);("_(%)\",);(==)(_(,,));();}=(.,,,_);(.!=_)(.);(!)();/*_()*/#(==_){/**,*''*
/(,->_,);[]='\';_=_.;_.&=~_;_.|=_;(!(=())){(_|_,":%([%])",,_(*((_*))));_.=_;____
(__);();}_.=_;(=->__;*;++)(!(*,,));(!*){(_|_,":%!=[%]",,_(*((_*))));____(__);();
}}#/**/->_=;->_=;(_,,);__[]=(*)_;__[]=;(==_&&(_.&__)){__((*)_,(*)_);->_=_;->_=;}
____(_);();}_(){(!)=(__,"");();=;}__(_)_(){(&&!){()();=;}}*_(){*;*,**;,;(!&&!(=(
__,""))){____(_);();}:(!(=(,,))){____(__);();}(*=='#');(!(=(,"#\")));*='\';(!(=(
,"\")));*++='\';(_(_,,_)>){=_;=;}(_(_,,_)>){(_.&__){__((*)_,(*)_);=_;=;}{=_;=;}}
{;}__[]=(*)_;__[]=;.__=__;._=;._=;(*==''||*=='\')++;._=;=._=_;((=(,"\")))*++='\'
;(&&*){(*==''||*=='\'){++;;}(<&_[-])*++=;((=(,"\")))*++='\';}*=;____(_);(&);}__(
_)*_(*){*;(_.&__){=_(,_);()();}(_(,_));}*_(*,){*;**;_();((=_())){(->_!=);((->_,)
==);(=->_;*!=;++)((*,)==);}:_();();}__(_)*_(*,_,){*;_();((=_()))(->_==&&!(->_,,)
);_();();}__(_)__(*,*){_*=(_*);[];;/*.*/(,,);/*.*/(=;<;++)*++=;*++=;*++=;/*'.*/(
(*),,);}__(*,**,*){**;(->_!=_||->_!=);->_=_;->_=;(=->__;*;++){=()-((_)*%());(*<(
+)){/*..*/*=;;}*+=;*-=;__(*,*);*=*;*+=;*-=;}}#(**,){,;**;[];=;=;(=;<;++,++){(=;(
)<_.;++)(_._[].._==(((_*)(*))->_&_._[].));[]=;(==&&>&&<[-])=;}(!);(<){(=-;>=;--)
{([]>[+]){*;=[];[]=[+];[+]=;=[];[]=[+];[+]=;};}++;}}##(__)||()/*'()*/_(){_();}_(
){_();}*_(*){(_());}*_(*,_,){(_(,,));}*(){(_());}_(){;}#__(_,)_*_,*;{(___(_,));}
#/*-*/

A Python file:

#!///_____#.-/##().<@.>#()<@.>#()<@.>##..##()##,,##(""),,#,,,,#,,,/,#,#:###.##""
,,#,#,#.#,,#,,,##."""/(://..///--/).(////////):(////);,,()/;(///)..()():````,```
`,````.,``;()``.::``::``....,...,``.``().-`<://../>`_,.````.``.--``.------------
----------------------.'"""".','.():,,--,--.:,,,.:**;**,**,**,,,;**,(,,).-------
----------()()."","","".(),.,:::([,,,,,,,,],[,,,,,,,,]),.,.;(),().::[,,,,,,,,,,,
,,,,,,].(),.::([(,,),(,,),(,,)],[(,,),(,,),(,,)]),..,--.,---(---).,,,..,(),.;,;(
)(``).::`._`.',(,-,).,--------------------------"""____=".."#://..//..//-.#://..
//..//-.:#``:#.#,-#(`#`).:____=['','','','_','_']#.#://..///#--_=.('',,,,,,,,)_=
((,,,),(,,,),(,,,),(,,,),(,,,),(,,,),(,,,))(,):#://..//.//.#((*[()]*))():(,)():.
()_(,,,):"""(),..+=.````````.````,.."""=()=()=+=+##://..//..//-.#-=(.)#':-(.().(
)#():[::]=[::]():[+::]=[::]_():"""(::``).;."""#.:=()(<()<=):("")_=,():()(,):("%:
--."%)()==:_=_()==:("%:--"%):()!=(<=<=):("%::<=<="%)_(,,):""",,.(,).""":,()!=:("
(,)")!=[]:("[](%)(%)."%([],))!=[]:("[](%)(%)."%([],))_(,,):""".(,',""-).""":::()
:=(,)()!=:("%-"%)([]):("%"%):(()==([])([])([])):("%"%)():____():.____.____+':'+'
'.(.)():""".,."""()::"""."""____(,=,=,=,=,=,=,=,=,=,=,=,=,__=,#=,=,=,_=**,___=,_
__=,__=):""".:,,.(,),.,.().:.().(````).(````).(````).:()();:-.._````.___(``).___
(``).`__`,.__``(``).()````,``.``(**,**).````(),().``.``**-``.,-.,,,,.``,,````().
./,().:""(,,);.(,``)``:,,,.(````,;``.)``,,:;``;``;``;,,,.,``().--.-;-.----.````;
-````.````;````-,.-.,````,,,().,``(,``).````.,.``````.,""(,')..-````````().``(',
**).,....::``.`_`.,````."""#``;##``(,,**)``,``#..#``.,=_(,,)<=<=:("")()():("")#:
//..///#--->**->**-:("**-"):("")__:.('__',)__(.,.,.,,):(".,.,.,,")=(*__)__()<<:(
"(%)<="%).==_():(,,,):(",,,,"):(""):(""):(""):#,.:(,):=(,)[>].=(,)=:(,,,,):>:===
:=:(,,)=.=(,)=<():("<")>:("")=_(,,'')=_(,,'')#'(,,#,)'#..=.=.=.=.=.=().=().=().=
().=._=_.=().=.___=___.___=___.__=(__)._=*.+*()+*.._(,,,,)._=(,)[..].=._+.#::<.=
(./)*._():"""````````.(**,**).**````````."""=('')=('').:.([:])()>:.([])=()=():,,
(,,):""".``.,``.````.*.``.``(),.;...::.""".:=''[.>]=(,.(*))._(,)=._(,)!=.:("(%)(
%)"%(,.))_(,,,=):""".::``::`_`..,,.``.``````;``````."""#://..///#--.(_)#://..///
#_(,'',.("!",.,.,.,._,,,.))#::#://..///#.:_(,'',.("!",((.*))))#::#://..///#.:_(,
'',.('%'%.,*[.[]]*.))#:::(),#.,#.#://..///#.:,=._()_(,'',):#.#._(,'',)#://..///#
.:.:_(,'',.("!",*.)):_(,'',.("!",*.))#://..///#.:.:_(,'',.("!",*.)):_(,'',.("!",
*.))#://..///#.___.___:=(.___,.___,(.__))_(,'',.("!",*))#://..///#.:=.(.):=.()#.
#/#.=('').==:=..==:#():='!%'%().(('',.(,*))):#.<#=(/.)():=('',)##-.=(())=.(/())*
-.([]*())#=(,)=[(,:(<<.)+,)].().:==\(**.[]-)/(**.[]-)():([((*))])#,##(,#).#://..
////?==()#'..()#::``.()``#.#.,=():#...():#....#()#,,,""#.()::([()])=()(),:#"".,'
##;##"","",""..()()()>._:=.(())():_(,'',)#````,#,-````.#````,#().[:]():=.(()):='
'=.()()():_(,'',+)#://..///#_(,'')+_(,,):""".::``.""".:._(,.__()):._(,._())_(,,)
:"""``.``..,.,.;,,,,.""".:("_%"%.[])._(,,=)_(,,):""".(),,.""".:=('').(,(./)*._*.
*.)._(,.__()):._(,._())___(,,,):"""."""=('').(,(./)*._*.*.)=('').(,(./)*.*.)=_(,
,(./)*._,(./)).:._(,.__()):._(,._())_(,):""",``."-",.(``,``,``)``."""#=.*._=.>:.
==_*=='>%'%():('',.(,.(_))):():=('',.(_))(.):()_(,):"""()()."""#=.*.=(.):==+[:]_
_(,):""".``.,."""#://..///##.=''[.>]#=.*.,,,_:>=.:#()=(.((.-)/()))#._=*.(,.,):==
:=*[:+]:=()#'.([:_])=*+*._=(+)*=.*(.):[::.]=\[+:_:]_(,,=''):""",."""#://..///#-.
(.("!",())).().()=.()=.(,)&=**-.(.("!",))_(,):""".""".(_):_(,*)_(,,,=):""".``();
``();``().``;(),<(<)."""<=<#.,,-#().=('',[])():=-:>=:=(-[])&.()+=():,():=(-[])&.
()():=-,():>=:=(-(([]+[])>>))&:=(-([]>>))&.()+=():#://..///#---=-#,():==[]=>=:=[
]=[]=+-=(-)=(-)=(-)<=<=:=<=:=:==(-)&.()+=:#'.#""#."""";""#""(-,).""#.==:#""===:=
[]*()==:#""===:.()==:()==:()==:():#==()_(,=,={}):"""::``--.-:``._(,'').('.')``.*
*,'.;;..,``*``,-(*=).**-.:``''``()``''``()``''``()``''``()(,).``';'``;.-**,.````
,.,:``._([[,,],[,,]],'')``.:``()``,;``([])``;``([][])``,-.',..'(**).'``````.``.,
.,,,.**(::`.`).:**..(**).**,.,**``````''````''````''````''``."""#**..#(**).=()#.
=:#''''``..(''):=''=[:].(''):=''=[:]:().(''):+=''=[:]#';'.(';'):=[:]#::=()(,):()
:("''';'.")=#**.:.('')!=['']:("(%)(%)."%(,['']))['']=#/**.#.'':#,,.,[('',),('',)
]::[]!=[''][]:("[%][''][%]."%(,))[''],['']=['']''::=():("(),[''].")['']=#.'':(['
'])!=(''):("[''].")['']='''':([''])!=(''):("[''].")['']=''=()'':['']!=:("[''].")
##,.#.,=.()=():[][]==[](,):==''::=():=()//['']=:#=(.._())''::=.#":"..::#..=*.:#'

And Lisp:

;-*-:;:-;:_-*-;;;>;;;>().;;;>.;;;>;;;>,,;;;>,;;;>...;;;>;;;>."..."";;;>";;;>,;;;
>.;;;>......;;;>.;;;>"".;;;>;;;>;;;>;;;>,;;;>;;;>+---;;;>;;;>(),,,,.;;;>.;;;>;;;
>,,;;;>,;;;>;;;>;;;>."";;;>;;;>,.;;;>;;;>.;;;>."";;;>.;;;>;;;>,,,,,;;;>,.;;;>;;;
>,.;;;>,;;;>,;;;>;;;>+---;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//--.;;;//----;;;
//--"";;;"[|]{}*";;;"{}*".;;;//((--(...)...)...);;;.;;;-------------.;;;//';;;-,
-,;;;;(-(:-:-:)("-/")("-/"))(-:-);;;.;;;;;;;;;;;;,,;;;'.;;;;;;,;;;-,;;;(,;;;).;;
;;;;""();;;,;;;.;;;,"";;;.;;;;;;;;;.,;;;.;;;,;;;.;;;.;;;;;;;;;,/.;;;,;;;,"":;;;;
;;(),;;;;;;;()"";;;,"";;;.,-,;;;-.;;;;;;();;;-,;;;(,,;;;).;;;;;;;;;.;;;#+('(-));
;;;;;;,;;;.;;;*,;;;,-,-;;;;;;-.(-*()`(-,))(*-*)(-(&('-))(*-*(())(())))(*---*')(-
-();;@@@@;;-(--).;;.';;#+---;;;;/.;;,-'-#+()#-((((-')))((((')))(((')))(((')))(((
'-)))((('))))));;;@@@@;;;,;;;.;;;,..;;;(()),;;;"""".;;;.,;;;,,;;;`(,(--'()'(+)))
.(--(-)((-)));;;@@@@,,;;;,;;;.;;;,..;;;(()),;;;"""".;;;.,;;;,,;;;`(,(--''(+))).;
;;"";;;.""().,;;;(-()...);;;"",;;;.,,;;;.;;;(;;;-,..);;;.(--(-)((-)));;;;(----((
--&--)&)((((--((--)))))`(*((,-())(,-,-),@),@)))(--(&(--&--))(())(((-()(())(()((<
=)(`(,((')(')(')(')),)))(`(,)(-)))))(((-)());;.(()(((()')((-(())));;@@@@,;;'-;;-
(;;).)((()'(*))((()((())'(')))((-(())))))))(((((()`(((,-),-)(,-((,-)))))((<)(---
))((=);;@@@@:;;((-));;((()-)).;;.`(,-(,-,-)))(`(,-,(-`((,-),-)))))));;';;,'...';
;,.(--(`(,(,--(,-)))))))))(--(-&--)(--(;;-,;;.;;.`(,-))));;;;#|"".,()().,,,.|#((
-(:---)(:)(:))----)(*----*'((----)))(--(-)(((-((*----*:#'))))(---:--::-(-'---):-
((-)(-'---))::--)))(---()(()(--))((((--))((---)))((---)(-'---))))(--(&)((((--(--
)))(((--)))(-(---))(-(---))(-(---))(-(---))((--)))(-`(((,-,)(,-,)(,-))((,,-,-)),
@)`(((,-,((')(-)(-)))(,-,))((,,-,-)),@))))(---()(*((-(---))(-(---))(-(---))((--(
---)`(,((')),-,-))))`((,-,)(,(-`((,-),))(,@(-`(,-)),-,-)))));;;;#|./"".--,-
,()""-.|#;;;;;;;"".*--*,;;;.(-()(()(=)))(-()(()(:#'=)))(-()(()(:#'=)))(--(-)((-)
(((--)))))(---()`(((-,),),))(-(:-:-:)(--()(())(((((--)(()"-")(()"")(:"-")((--)))
))(--(::)()))))((-(:---)(:)(:));,=(-.-).-;,=(-.-).-;,=(-.-).-;,=(-.-).-;,,=.-;,,
=.;,,:.--;--);;;"";;;..(*-*)(---(&-----)(-(:))(((()(*((())((--:((<)):#')))(()(((
-()))())))))(--:():-(-):-(-):-(-)::--(()):-(-):-(*(((-))((--:((;;;>().;;;>.;;;>;;;>,,;;;>,;;;>...;;;>;;;>."..."";;;>";;;>,;;;
>.;;;>......;;;>.;;;>"".;;;>;;;>;;;>;;;>,;;;>;;;>+---;;;>;;;>(),,,,.;;;>.;;;>;;;
>,,;;;>,;;;>;;;>;;;>."";;;>;;;>,.;;;>;;;>.;;;>."";;;>.;;;>;;;>,,,,,;;;>,.;;;>;;;
>,.;;;>,;;;>,;;;>;;;>+---;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//--.;;;//----;;;
//--"";;;"[|]{}*";;;"{}*".;;;//((--(...)...)...);;;.;;;-------------.;;;//';;;-,
-,;;;;(-(:-:-:)("-/")("-/"))(-:-);;;.;;;;;;;;;;;;,,;;;'.;;;;;;,;;;-,;;;(,;;;).;;
;;;;""();;;,;;;.;;;,"";;;.;;;;;;;;;.,;;;.;;;,;;;.;;;.;;;;;;;;;,/.;;;,;;;,"":;;;;
;;(),;;;;;;;()"";;;,"";;;.,-,;;;-.;;;;;;();;;-,;;;(,,;;;).;;;;;;;;;.;;;#+('(-));
;;;;;;,;;;.;;;*,;;;,-,-;;;;;;-.(-*()`(-,))(*-*)(-(&('-))(*-*(())(())))(*---*')(-
-();;@@@@;;-(--).;;.';;#+---;;;;/.;;,-'-#+()#-((((-')))((((')))(((')))(((')))(((
'-)))((('))))));;;@@@@;;;,;;;.;;;,..;;;(()),;;;"""".;;;.,;;;,,;;;`(,(--'()'(+)))
.(--(-)((-)));;;@@@@,,;;;,;;;.;;;,..;;;(()),;;;"""".;;;.,;;;,,;;;`(,(--''(+))).;
;;"";;;.""().,;;;(-()...);;;"",;;;.,,;;;.;;;(;;;-,..);;;.(--(-)((-)));;;;(----((
--&--)&)((((--((--)))))`(*((,-())(,-,-),@),@)))(--(&(--&--))(())(((-()(())(()((<
=)(`(,((')(')(')(')),)))(`(,)(-)))))(((-)());;.(()(((()')((-(())));;@@@@,;;'-;;-
(;;).)((()'(*))((()((())'(')))((-(())))))))(((((()`(((,-),-)(,-((,-)))))((<)(---
))((=);;@@@@:;;((-));;((()-)).;;.`(,-(,-,-)))(`(,-,(-`((,-),-)))))));;';;,'...';
;,.(--(`(,(,--(,-)))))))))(--(-&--)(--(;;-,;;.;;.`(,-))));;;;#|"".,()().,,,.|#((
-(:---)(:)(:))----)(*----*'((----)))(--(-)(((-((*----*:#'))))(---:--::-(-'---):-
((-)(-'---))::--)))(---()(()(--))((((--))((---)))((---)(-'---))))(--(&)((((--(--
)))(((--)))(-(---))(-(---))(-(---))(-(---))((--)))(-`(((,-,)(,-,)(,-))((,,-,-)),
@)`(((,-,((')(-)(-)))(,-,))((,,-,-)),@))))(---()(*((-(---))(-(---))(-(---))((--(
---)`(,((')),-,-))))`((,-,)(,(-`((,-),))(,@(-`(,-)),-,-)))));;;;#|./"".--,-
,()""-.|#;;;;;;;"".*--*,;;;.(-()(()(=)))(-()(()(:#'=)))(-()(()(:#'=)))(--(-)((-)
(((--)))))(---()`(((-,),),))(-(:-:-:)(--()(())(((((--)(()"-")(()"")(:"-")((--)))
))(--(::)()))))((-(:---)(:)(:));,=(-.-).-;,=(-.-).-;,=(-.-).-;,=(-.-).-;,,=.-;,,
=.;,,:.--;--);;;"";;;..(*-*)(---(&-----)(-(:))(((()(*((())((--:((<)):#')))(()(((
-()))())))))(--:():-(-):-(-):-(-)::--(()):-(-):-(*(((-))((--:((()));;,-.;;.;;;;
.((()())(()()(())(())((())()))((`(,(*---*))))(`(,,(()),(()))-));;-();;(()()()(()
-)((())()))()))))))(--()(()((((--)))(());;@@@@(-');;;;.)))(*--*'(()()()()()()()(
)()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))(*---*'(**--*----
))(-()(((())((+(-()))))(()(+(())))))(--()('--(---)))(---()(((-()((())(())(()((--
-))))));;@@@@????((-()))((())(()(--(--)(-)(-(----))))(());???-???((())(((())()()
)(()())((((&(-))`((+(,)((-,(-'())))))))(((('--))((())(())))(((*--*))(()))((')(((
))((-))()))((')(((()()))(())((+(-())(---())))))(('())(((()()))(())((+(---())))))
(('))((');;-;;.(((())((())(()')))('--)))(('--)((())()))(('-)(+(---())))(((--)(*-
--*))('--))((--(--)(-)(-(----)())))))))(('--)))));;;;(-()(((*--*())((())))(((*--
*))())))(-(-&-)(--"~?~%:~{~~}."--(-)))(-(-&-)("~?~%:~{~~}."--(-)))(---(--&(--))(
())((())())))))));;;;(*--*",:-,-,-.")(--()((--(()((())()`(,(),(--())))))))(--(--
)((--)((*--*(*--*)'--)--)))(*--*(-"--"))(--(&&--)(((--();;'-;;((())((()))((--())
())))(--(&);;(((();;'-((()');;.;;,-.;;.(#'(()(()(((()'))((()))(((()))))()))())`(
,))))((*((())(())(--(--))(--(--)))((----)(--(*((-)((*--*))(`(,@(--`(,))(,(,)),@(
--))))(-`(,@(()`((,,))),@)`((((,,)),@))));;(--`(,))))))((()`((,,)))))))((())((--
)((())()`(,@())))(((--(--)(--)))))));;;;-;;;"".(*--*);;;,;;;(*---*);;;*--*"".;;;
(-,-).(*--*);;;,.(*-*);;;.(*--*);;;.;;;--.(*--*);;;-.(*-*);;;;;;*-*.(*-*);;;,.;;
;--.(*--*);;;,,;;;;;;*-*....,;;;((--(;;;...))),;;;*-*(;;;).(*-*);;;*-*;;;,.;;;--
.(*--*);;;-();;;;;;().(*-*);;;,;;;.(*--*);;;,.(*-*)(*--*)(*-*)(*--*);;;,;;;.;;;*
-*,;;;""("";;;"").(*--*);;;(),;;;.(*-*);;;"";;;."";;;.;;;---,..(*--*);;;"".;;;--
-;;;.(*---*);;;,.;;;.(*--*);;;,;;;"""()".;;;.(*---*);;;,;;;;;;.;;;;;;.(*---*);;;
-.;;;---.(*--*);();;;;(----(&-)(((-)()(-))(((-))(-(-)))((-)((--)(-"~~,~."--)(-))
)(--)))(-()());;;;(*--*)(*---*(-"---"))(---()(--()(--)(+(*(-)))))(-(&---&)((=(-)
(-))(-"----."));;,:((-)(-))(((()((())(()(()((()(()'(-)))())))()))(()((())()`(,@)
))(()(((`(,@((()))-,@((-(`((-)))))-,@())))(`(((,)),)))))((*--*())(--()));;--;;'(
(((---)))()(());;--;;.(()((()((()()))))(()-)())((()));;&(;;),;;.;;,;;;;.,;;,;;,;
;.;;-;;.(((())(())()()())(()(--()));.((((()()))())(((((--())))(>()));;,-.;;.;;;;
.((()())(()()(())(())((())()))((`(,(*---*))))(`(,,(()),(()))-));;-();;(()()()(()
-)((())()))()))))))(--()(()((((--)))(());;@@@@(-');;;;.)))(*--*'(()()()()()()()(
)()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))(*---*'(**--*----
))(-()(((())((+(-()))))(()(+(())))))(--()('--(---)))(---()(((-()((())(())(()((--
-))))));;@@@@????((-()))((())(()(--(--)(-)(-(----))))(());???-???((())(((())()()
)(()())((((&(-))`((+(,)((-,(-'())))))))(((('--))((())(())))(((*--*))(()))((')(((
))((-))()))((')(((()()))(())((+(-())(---())))))(('())(((()()))(())((+(---())))))
(('))((');;-;;.(((())((())(()')))('--)))(('--)((())()))(('-)(+(---())))(((--)(*-
--*))('--))((--(--)(-)(-(----)())))))))(('--)))));;;;(-()(((*--*())((())))(((*--
*))())))(-(-&-)(--"~?~%:~{~~}."--(-)))(-(-&-)("~?~%:~{~~}."--(-)))(---(--&(--))(

Implementation

cat ansi-loop.l | tr -d "$(printf 'A-Za-z0-9 \011\012\014')"

(who puts formfeed characters in their source code? Lisp programmers, that’s who!)

One Response to “Punctuation in Code”

  1. rjp Says:

    If you have a reasonably new and fancy `tr` (I’m using “tr (GNU coreutils) 8.24”), you can do it slightly more easily.

    tr -dc ‘[[:punct:]]’ < file.c


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: