#!/usr/bin/perl -ws # # stackcollapse-recursive Collapse direct recursive backtraces # # Post-process a stack list and merge direct recursive calls: # # Example input: # # main;recursive;recursive;recursive;helper 1 # # Output: # # main;recursive;helper 1 # # Copyright 2014 Gabriel Corona. All rights reserved. # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at docs/cddl1.txt or # http://opensource.org/licenses/CDDL-1.0. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at docs/cddl1.txt. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END
my %stacks;
while(<>) {
chomp;
my ($stack_, $value) = (/^(.*)\s+?(\d+(?:\.\d*)?)$/); if ($stack_) {
my @stack = split(/;/, $stack_);
my @result = ();
my $i;
my $last=""; for($i=0; $i!=@stack; ++$i) { if(!($stack[$i] eq $last)) {
$result[@result] = $stack[$i];
$last = $stack[$i];
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.