Function frequency: Difference between revisions
Content added Content deleted
Walterpachl (talk | contribs) 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}}== |