📄 commentc.dpr
字号:
(* lexical analyzer template (TP Lex V3.0), V1.0 3-2-91 AG *)
(* global definitions: *)
(* 计算C代码中的注释,空行和代码行*)
program CommentC;
{$APPTYPE CONSOLE}
{%ToDo 'commentc.todo'}
uses
SysUtils,
LexLib;
var
comments, code, whiteSpace: integer;
const
COMMENT = 2;
function yylex: Integer;
procedure yyaction(yyruleno: Integer);
(* local definitions: *)
begin
(* actions: *)
case yyruleno of
1:
Start(COMMENT); {* 进入注释状态 *}
2:
inc(comments); {/* 自包含的注释 */}
3:
begin
Start(0);
inc(comments);
end;
4:
Start(0);
5:
inc(comments);
6:
inc(comments);
7:
inc(whiteSpace);
8:
inc(code);
9:
inc(code);
10:
begin
inc(code);
Start(COMMENT);
end;
11:
inc(code);
12:
; {* 忽略其它 *}
end;
end (*yyaction*);
(* DFA table: *)
type
YYTRec = record
cc: set of Char;
s: Integer;
end;
const
yynmarks = 49;
yynmatches = 49;
yyntrans = 262;
yynstates = 86;
yyk: array[1..yynmarks] of Integer = (
{ 0: }
{ 1: }
{ 2: }
{ 3: }
{ 4: }
12,
{ 5: }
12,
{ 6: }
12,
{ 7: }
12,
{ 8: }
7,
{ 9: }
12,
{ 10: }
5,
{ 11: }
12,
{ 12: }
12,
{ 13: }
12,
{ 14: }
12,
{ 15: }
5,
7,
{ 16: }
{ 17: }
{ 18: }
11,
{ 19: }
{ 20: }
{ 21: }
{ 22: }
7,
11,
{ 23: }
1,
{ 24: }
4,
{ 25: }
6,
11,
{ 26: }
6,
7,
11,
{ 27: }
{ 28: }
{ 29: }
{ 30: }
1,
{ 31: }
{ 32: }
{ 33: }
{ 34: }
{ 35: }
3,
{ 36: }
{ 37: }
{ 38: }
10,
{ 39: }
{ 40: }
{ 41: }
{ 42: }
{ 43: }
{ 44: }
{ 45: }
{ 46: }
{ 47: }
{ 48: }
{ 49: }
{ 50: }
{ 51: }
{ 52: }
{ 53: }
{ 54: }
{ 55: }
2,
{ 56: }
{ 57: }
{ 58: }
{ 59: }
{ 60: }
{ 61: }
8,
10,
{ 62: }
{ 63: }
{ 64: }
{ 65: }
{ 66: }
9,
{ 67: }
9,
10,
{ 68: }
{ 69: }
{ 70: }
{ 71: }
2,
8,
10,
{ 72: }
{ 73: }
{ 74: }
{ 75: }
{ 76: }
{ 77: }
2,
9,
{ 78: }
{ 79: }
2,
10,
{ 80: }
{ 81: }
8,
9,
10,
{ 82: }
{ 83: }
2,
8,
9,
10,
{ 84: }
{ 85: }
2,
9,
10
);
yym: array[1..yynmatches] of Integer = (
{ 0: }
{ 1: }
{ 2: }
{ 3: }
{ 4: }
12,
{ 5: }
12,
{ 6: }
12,
{ 7: }
12,
{ 8: }
7,
{ 9: }
12,
{ 10: }
5,
{ 11: }
12,
{ 12: }
12,
{ 13: }
12,
{ 14: }
12,
{ 15: }
5,
7,
{ 16: }
{ 17: }
{ 18: }
11,
{ 19: }
{ 20: }
{ 21: }
{ 22: }
7,
11,
{ 23: }
1,
{ 24: }
4,
{ 25: }
6,
11,
{ 26: }
6,
7,
11,
{ 27: }
{ 28: }
{ 29: }
{ 30: }
1,
{ 31: }
{ 32: }
{ 33: }
{ 34: }
{ 35: }
3,
{ 36: }
{ 37: }
{ 38: }
10,
{ 39: }
{ 40: }
{ 41: }
{ 42: }
{ 43: }
{ 44: }
{ 45: }
{ 46: }
{ 47: }
{ 48: }
{ 49: }
{ 50: }
{ 51: }
{ 52: }
{ 53: }
{ 54: }
{ 55: }
2,
{ 56: }
{ 57: }
{ 58: }
{ 59: }
{ 60: }
{ 61: }
8,
10,
{ 62: }
{ 63: }
{ 64: }
{ 65: }
{ 66: }
9,
{ 67: }
9,
10,
{ 68: }
{ 69: }
{ 70: }
{ 71: }
2,
8,
10,
{ 72: }
{ 73: }
{ 74: }
{ 75: }
{ 76: }
{ 77: }
2,
9,
{ 78: }
{ 79: }
2,
10,
{ 80: }
{ 81: }
8,
9,
10,
{ 82: }
{ 83: }
2,
8,
9,
10,
{ 84: }
{ 85: }
2,
9,
10
);
yyt: array[1..yyntrans] of YYTrec = (
{ 0: }
(cc: [#1..#9, #11..'.', '0'..#255]; s: 4),
(cc: ['/']; s: 5),
{ 1: }
(cc: [#1..#8, #11..#31, '!'..'.', '0'..#255]; s: 4),
(cc: [#9, ' ']; s: 6),
(cc: [#10]; s: 8),
(cc: ['/']; s: 7),
{ 2: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 11),
(cc: [#10]; s: 10),
(cc: ['*']; s: 9),
(cc: ['/']; s: 12),
{ 3: }
(cc: [#1..#8, #11..#31, '!'..')', '+'..'.', '0'..#255]; s: 11),
(cc: [#9, ' ']; s: 13),
(cc: [#10]; s: 15),
(cc: ['*']; s: 9),
(cc: ['/']; s: 14),
{ 4: }
(cc: [#1..#9, #11..'.', '0'..#255]; s: 16),
(cc: [#10]; s: 18),
(cc: ['/']; s: 17),
{ 5: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 16),
(cc: [#10]; s: 18),
(cc: ['*']; s: 19),
(cc: ['/']; s: 17),
{ 6: }
(cc: [#1..#8, #11..#31, '!'..'.', '0'..#255]; s: 16),
(cc: [#9, ' ']; s: 20),
(cc: [#10]; s: 22),
(cc: ['/']; s: 21),
{ 7: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 16),
(cc: [#10]; s: 18),
(cc: ['*']; s: 23),
(cc: ['/']; s: 17),
{ 8: }
{ 9: }
(cc: [#1..#9, #11..'.', '0'..#255]; s: 16),
(cc: [#10]; s: 25),
(cc: ['/']; s: 24),
{ 10: }
{ 11: }
(cc: [#1..#9, #11..'.', '0'..#255]; s: 16),
(cc: [#10]; s: 25),
(cc: ['/']; s: 17),
{ 12: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 16),
(cc: [#10]; s: 25),
(cc: ['*']; s: 19),
(cc: ['/']; s: 17),
{ 13: }
(cc: [#1..#8, #11..#31, '!'..'.', '0'..#255]; s: 16),
(cc: [#9, ' ']; s: 20),
(cc: [#10]; s: 26),
(cc: ['/']; s: 21),
{ 14: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 16),
(cc: [#10]; s: 25),
(cc: ['*']; s: 23),
(cc: ['/']; s: 17),
{ 15: }
{ 16: }
(cc: [#1..#9, #11..'.', '0'..#255]; s: 16),
(cc: ['/']; s: 17),
{ 17: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 16),
(cc: ['*']; s: 27),
(cc: ['/']; s: 17),
{ 18: }
{ 19: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 19),
(cc: ['*']; s: 29),
(cc: ['/']; s: 28),
{ 20: }
(cc: [#1..#8, #11..#31, '!'..'.', '0'..#255]; s: 16),
(cc: [#9, ' ']; s: 20),
(cc: [#10]; s: 8),
(cc: ['/']; s: 21),
{ 21: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 16),
(cc: ['*']; s: 30),
(cc: ['/']; s: 17),
{ 22: }
{ 23: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 31),
(cc: ['*']; s: 32),
(cc: ['/']; s: 33),
{ 24: }
(cc: [#1..#8, #11..#31, '!'..')', '+'..'.', '0'..#255]; s: 16),
(cc: [#9, ' ']; s: 34),
(cc: [#10]; s: 35),
(cc: ['*']; s: 27),
(cc: ['/']; s: 17),
{ 25: }
{ 26: }
{ 27: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 27),
(cc: [#10]; s: 38),
(cc: ['*']; s: 37),
(cc: ['/']; s: 36),
{ 28: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 19),
(cc: ['*']; s: 39),
(cc: ['/']; s: 28),
{ 29: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 19),
(cc: ['*']; s: 29),
(cc: ['/']; s: 40),
{ 30: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 41),
(cc: [#10]; s: 38),
(cc: ['*']; s: 42),
(cc: ['/']; s: 43),
{ 31: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 31),
(cc: ['*']; s: 32),
(cc: ['/']; s: 33),
{ 32: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 31),
(cc: ['*']; s: 32),
(cc: ['/']; s: 44),
{ 33: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 31),
(cc: ['*']; s: 45),
(cc: ['/']; s: 33),
{ 34: }
(cc: [#1..#8, #11..#31, '!'..'.', '0'..#255]; s: 16),
(cc: [#9, ' ']; s: 34),
(cc: [#10]; s: 35),
(cc: ['/']; s: 17),
{ 35: }
{ 36: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 27),
(cc: [#10]; s: 38),
(cc: ['*']; s: 37),
(cc: ['/']; s: 36),
{ 37: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 27),
(cc: [#10]; s: 38),
(cc: ['*']; s: 37),
(cc: ['/']; s: 46),
{ 38: }
{ 39: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 27),
(cc: [#10]; s: 38),
(cc: ['*']; s: 37),
(cc: ['/']; s: 47),
{ 40: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 48),
(cc: ['*']; s: 50),
(cc: ['/']; s: 49),
{ 41: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 41),
(cc: [#10]; s: 38),
(cc: ['*']; s: 42),
(cc: ['/']; s: 43),
{ 42: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 41),
(cc: [#10]; s: 38),
(cc: ['*']; s: 42),
(cc: ['/']; s: 51),
{ 43: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 41),
(cc: [#10]; s: 38),
(cc: ['*']; s: 42),
(cc: ['/']; s: 43),
{ 44: }
(cc: [#1..#8, #11..#31, '!'..')', '+'..'.', '0'..#255]; s: 52),
(cc: [#9, ' ']; s: 54),
(cc: [#10]; s: 55),
(cc: ['*']; s: 53),
(cc: ['/']; s: 56),
{ 45: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 41),
(cc: [#10]; s: 38),
(cc: ['*']; s: 42),
(cc: ['/']; s: 57),
{ 46: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 58),
(cc: [#10]; s: 61),
(cc: ['*']; s: 60),
(cc: ['/']; s: 59),
{ 47: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 62),
(cc: [#10]; s: 38),
(cc: ['*']; s: 64),
(cc: ['/']; s: 63),
{ 48: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 48),
(cc: [#10]; s: 66),
(cc: ['*']; s: 65),
(cc: ['/']; s: 49),
{ 49: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 48),
(cc: [#10]; s: 66),
(cc: ['*']; s: 50),
(cc: ['/']; s: 49),
{ 50: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 62),
(cc: [#10]; s: 67),
(cc: ['*']; s: 64),
(cc: ['/']; s: 63),
{ 51: }
(cc: [#1..#8, #11..#31, '!'..')', '+'..'.', '0'..#255]; s: 68),
(cc: [#9, ' ']; s: 70),
(cc: [#10]; s: 71),
(cc: ['*']; s: 69),
(cc: ['/']; s: 72),
{ 52: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 52),
(cc: [#10]; s: 66),
(cc: ['*']; s: 73),
(cc: ['/']; s: 56),
{ 53: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 74),
(cc: [#10]; s: 67),
(cc: ['*']; s: 75),
(cc: ['/']; s: 76),
{ 54: }
(cc: [#1..#8, #11..#31, '!'..')', '+'..'.', '0'..#255]; s: 52),
(cc: [#9, ' ']; s: 54),
(cc: [#10]; s: 77),
(cc: ['*']; s: 73),
(cc: ['/']; s: 56),
{ 55: }
{ 56: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 52),
(cc: [#10]; s: 66),
(cc: ['*']; s: 53),
(cc: ['/']; s: 56),
{ 57: }
(cc: [#1..#8, #11..#31, '!'..')', '+'..'.', '0'..#255]; s: 74),
(cc: [#9, ' ']; s: 78),
(cc: [#10]; s: 79),
(cc: ['*']; s: 75),
(cc: ['/']; s: 80),
{ 58: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 58),
(cc: [#10]; s: 81),
(cc: ['*']; s: 60),
(cc: ['/']; s: 59),
{ 59: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 58),
(cc: [#10]; s: 81),
(cc: ['*']; s: 60),
(cc: ['/']; s: 59),
{ 60: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 58),
(cc: [#10]; s: 81),
(cc: ['*']; s: 60),
(cc: ['/']; s: 59),
{ 61: }
{ 62: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 62),
(cc: [#10]; s: 67),
(cc: ['*']; s: 64),
(cc: ['/']; s: 63),
{ 63: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 62),
(cc: [#10]; s: 67),
(cc: ['*']; s: 64),
(cc: ['/']; s: 63),
{ 64: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 62),
(cc: [#10]; s: 67),
(cc: ['*']; s: 64),
(cc: ['/']; s: 59),
{ 65: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 48),
(cc: [#10]; s: 66),
(cc: ['*']; s: 65),
(cc: ['/']; s: 49),
{ 66: }
{ 67: }
{ 68: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 68),
(cc: [#10]; s: 81),
(cc: ['*']; s: 69),
(cc: ['/']; s: 72),
{ 69: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 68),
(cc: [#10]; s: 81),
(cc: ['*']; s: 69),
(cc: ['/']; s: 82),
{ 70: }
(cc: [#1..#8, #11..#31, '!'..')', '+'..'.', '0'..#255]; s: 68),
(cc: [#9, ' ']; s: 70),
(cc: [#10]; s: 83),
(cc: ['*']; s: 69),
(cc: ['/']; s: 72),
{ 71: }
{ 72: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 68),
(cc: [#10]; s: 81),
(cc: ['*']; s: 69),
(cc: ['/']; s: 72),
{ 73: }
(cc: [#1..#9, #11..')', '+'..'.', '0'..#255]; s: 52),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -