added check for ragel
added checks for gperf, erroring out if not found
added golang detection and parsing, based on C
added golang unit tests
made README formatting consistent
Merge branch 'golang'
updated author information
Added a parser for NSIS files (.nsi, .nsh).
OTWO-571 Fixed a bug where ohcount would follow symbolically linked directories, causing problems/security concerns
Merge branch 'master' of https://github.com/chris-morgan/ohcount
Merge branch 'master' of https://github.com/bytbox/ohcount
Adding recognition and parser for perforce Jam (Jamfile/Jamrules), based on the parser for shell
add test cases for jam
Added support for the eC language (www.ecere.com)
Added missing detector test files
Add REBOL detection and (basic) parsing

Also adds a simple .r disambiguation to discern REBOL and R sources. R
is the default, REBOL is used if "rebol" is found anywhere in the
contents.

The REBOL parser currently does not handle multi-line strings ({...}),
which could (in rare cases) lead to string parts being classified as
comments.

Signed-off-by: Andreas Bolka <a@bolka.at>
Implement parsing of REBOL multi-line strings

Signed-off-by: Andreas Bolka <a@bolka.at>
Fix ragel include in parser example skeleton

Signed-off-by: Andreas Bolka <a@bolka.at>
Fix filename in Go parser attribution line

Signed-off-by: Andreas Bolka <a@bolka.at>
OTWO-803 Fixes disambiguate_pp() performance sink

disambiguate_pp() failed to execute in a reasonable time for extremely
large (1MB+) files.

The reason is that a regular expression is evaluated for each line of
the file, and this regular expression is scoped from the beginning of
the line to the end of the file. When the file is extremely large,
the regular expression evaluation runs away with the CPU.

By limiting the scope of the regular expression evaluation to no more
than 100 characters from its start point, we can avoid the runaway
performance sink. This is a reasonable change since the expression we
are looking to match should almost always fit within 100 chars anyway.