Linux征途vivieu.blog.chinaunix.net
vivieu
Never save something for a special occasion. Every day in your life is a special occasion.
全部博文(226)
北邮OS_ppt(1)
MCS-51基础课本(7)
MCU-51(0)
MCU-Holtek(3)
ARM7(0)
Powershell(1)
Borland C++(3)
Perl(4)
Cpp(4)
C(19)
MFC(0)
Java(1)
VB(6)
Else(6)
Code(0)
Bash(1)
Bat(14)
2018年(5)
2017年(11)
2016年(1)
2015年(17)
2014年(14)
2013年(30)
2012年(5)
2011年(52)
2010年(107)
zzl1988w
韩仪ails
noiplee
ablewen
五岳之巅
小雅贝贝
voamp4
cs168881
qianzhi
wilsprin
Liming_T
wxh520zy
cynthia
格伯纳
Bsolar
分类:
2010-12-23 00:12:36
# // 行释# /* 块注释 */ use strict;use warnings;use Encode;my $cnt=0; # countermy $str;my $char;my @chars;my $fsm = "text";# text# slash# lc_comment# bc_comment# startwhile (<DATA>){ #print "$_"; $cnt++; $str = decode("gb2312", $_); @chars = split //, $str; #print "@chars"; foreach $char (@chars) { # print encode("gb2312", $char); $char = encode("gb2312", $char); unless ($fsm eq "text") { print "$char"; # comment } if($fsm eq "text") { if($char eq "/") { $fsm = "slash"; print "$char"; # comment } } elsif($fsm eq "bc_comment") { if($char eq "*") { $fsm = "start"; } } elsif($fsm eq "lc_comment") { if($char eq "\n") { $fsm = "text"; } } elsif($fsm eq "slash") { if($char eq "/") { $fsm = "lc_comment"; } elsif($char eq "*") { $fsm = "bc_comment"; } else { $fsm = "text"; } } elsif($fsm eq "start") { if($char eq "/") { $fsm = "text"; } else { $fsm = "bc_comment"; } } else { # fsm error } } }print "FSM:$fsm\n"; # comment-error if not "text"__DATA__行注释// this is a line comment // this is a line /* comment * /块注释(只占一行)/* this is a block comment, in one line. *//* this is a block comment, // in one line. */块注释(跨行)/* this is a block comment, in multi-line.*/块注释中的//属于注释内容/* this is a block comment, but// not a line comment */块注释中的/*属于注释内容/* this is a /* block/* comment */块注释不能嵌套,如下面是非法的块注释/*illegal comment, because/* nest... */ing */void SetPwm(unsigned long m) // 这个行注释与代码在同一行,再与块注释符混合 /* 用regExp难以识别它。 */{ printf("hi!");}
上一篇:用正则表达式提到c程序注释
下一篇:批处理命令参数解释(Win2K)
登录 注册