Function frequency: Difference between revisions

Content added Content deleted
m (→‎REXX version 3: complete lang tag)
m (Added Sidef)
Line 1,583: Line 1,583:
1 wordsort
1 wordsort
0.093000 seconds elapsed for 2200 tokens in 510 lines.</pre>
0.093000 seconds elapsed for 2200 tokens in 510 lines.</pre>

=={{header|Sidef}}==
Sidef provides full access to its parser, which allows to inspect all declarations, including variables, classes and methods.
<lang ruby>var program = <<'EOT'
func foo { }
func bar { }

foo(); foo(); foo()
bar(); bar();
EOT

var parser = Parser.new # initialize a new parser
parser.parse_script( code => program ) # parse the code

var data = Perl.to_sidef(parser{:vars}{:main}).flatten

data.sort_by { |v| -v{:count} }.first(10).each { |entry|
if (entry{:type} == :func) {
say ("Function `#{entry{:name}}` (declared at line",
" #{entry{:line}}) is used #{entry{:count}} times")
}
}</lang>

{{out}}
<pre>
Function `foo` (declared at line 1) is used 3 times
Function `bar` (declared at line 2) is used 2 times
</pre>


=={{header|Tcl}}==
=={{header|Tcl}}==