view src/ploki/examples/uncomment.pk @ 8916:0234daffd946

<oerjan> addquote <int-e> I couldn\'t help thinking that maybe if one considers the ramifications in full detail it will turn out that overthinking is often not helpful and therefore, not something to be proud of.
author HackBot
date Sun, 14 Aug 2016 02:31:47 +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)#>