view src/ploki/examples/uncomment.pk @ 6214:68c263c53c9a

<boily> ` echo "Nose such file or directory" >wisdom/ENOSTRIL
author HackBot
date Sun, 15 Nov 2015 15:11:45 +0000
parents ac0403686959
children
line wrap: on
line source

#!../ploki
REM Usage: uncomment.pk [FILE [...]]
REM Opens each FILE in turn, removes C (and C++) comments, and prints
REM the results to stdout. Reads from stdin if FILE is omitted.

INSERT perl-util.pk HERE
LET status 0
IF \ARG < 2
	@delcom \EING
ELSE
	LET i 1
	FOR main-loop LET fh @APERS #<\ARG:i "R"#>
	IF @NOT fh
		WUNT \FEHL "\V\ARG:0: \V\ARG:i: \V\!
		LET status @NEG 1
	ELSE
		@delcom fh
		CLAUDS fh
	FI
	LET i += 1
	IF i < \ARG
		NEXT main-loop
	FI
FI

END status

FOR delcom LEET fh \@
	LEET s fh . @NEG 1
KTHX @s///g #<s "/((\\|?!?!/)\n!)*(/((\\|?!?!/)\n|'^\n')*|*!'^*'**!+((\\|?!?!/)\n!)*('^/*''^*'**!+((\\|?!?!/)\n!)*)*{/})|{(\"((\\|?!?!/).|'^\"')*\"|'!((\\|?!?!/).|'^'!')*'!|.)'^'!\"/'*}" @OMFG (" " ] @DEF-P \1 _ \0)#>