Differences From:
File
tools/cvs2fossil/lib/rcsparser.tcl
part of check-in
[e7bb3d073d]
- rcs parser rewritten to snit type, singleton, using callbacks to convey information. Got a grip on regexp -start -indices (^ -> \A, indices are absolute). This means that I now don't have to shift the unprocessed string down in memory, it is all index processing now. This makes for a much faster parser, especially for large files with many revisions (example: ChangeLogs).
by
aku on
2007-10-06 21:00:48.
[view]
To:
File
tools/cvs2fossil/lib/rcsparser.tcl
part of check-in
[338854a61a]
- API tweak rcs parser, definition of symbols, call through the callback once per symbol instead of once for the whole set.
by
aku on
2007-10-10 04:23:22.
[view]
@@ -75,18 +75,14 @@
return
}
proc Symbols {} {
- set d {}
RequiredLiteral symbols
while {[Ident -> symbol]} {
RequiredNumber -> rev
- # TODO: distinguish branch/tag symbols, transform revision
- # numbers into canonical form.
- lappend d $symbol $rev
+ Call deftag $symbol $rev
}
Semicolon
- Call setsymbols $d
return
}
proc Locks {} {