BLint v1.1 - (c)2009, Gustavo Brown
Contact: gbrown@fing.edu.uy

Start predicate: main
Compiles with SWI Prolog & Sicstus Prolog
Note: To compile with Sicstus Prolog, search for the commented snippet
      "SICSTUS - compatibility pack" and uncomment it (until "Fin SICSTUS - compatibility pack")
      They contain an implementation of some predicates not found in Sicstus Prolog 

Usage:
      BLint [Options] File [BLint_output_file]

generates {File}.blint unless BLint_output_file is provided

Options:
        -ilntXXX Ignore lint error XXX (e.g. -ilnt102)
        -dl Discard line information in lint output
        -console Show lint output in console
        -sl Sort lint output by line number
        -backslash consider backslash as escape char
        -dump Dump PrettyPrint file (extension: .PreetyPrint)
        -ec Do not discard comments in pretty print file
        -v Show version information
        /X(XXX) Arity Lint ignore error XXX (e.g. /X(101))
        /Q Same as -console


BLint codes:

lnt100 - LNT 100 - 'Predicate <<', @1, '>> not contiguous.'
lnt101 - LNT 101 - 'Unknown directive <<', @1, '>>.'
lnt102 - LNT 102 - 'Cannot parse directive <<', @1, '>> argument <<', @2, '>>.'
lnt103 - LNT 103 - 'Operator <<', @1, '>> redefined.'
lnt104 - LNT 104 - 'Builtin predicate  <<', @1, '>> redefined.'
lnt105 - LNT 105 - 'Cannot redefine operator (,)/2.'
lnt106 - LNT 106 - 'Predicate <<', @1, '>> is not used anywhere.'
lnt107 - LNT 107 - 'Directive <<', @1, '>> declared for predicate <<', @2, '>> but no definition found.'
lnt108 - LNT 108 - 'No public/visible predicates found.'
lnt109 - LNT 109 - 'Singleton variables <<', @1, '>> found in the head of clause ', @2, ' of <<', @3, '>>.'
lnt110 - LNT 110 - 'Singleton variables <<', @1, '>> found in the body of clause ', @2, ' of <<', @3, '>>.'
lnt111 - LNT 111 - 'Extern code expressions not analyzed.'

lnt200 - LNT 200 - 'Could not parse predicate:\n', @1, '\n'
lnt201 - LNT 201 - 'Syntax error parsing predicate:\n', @1, '\n'
lnt202 - LNT 202 - 'Syntax error in list:\n', @1, '\n'
lnt203 - LNT 203 - 'Could not parse predicate <<', @1, '>>.'

Mapping between Arity Lint error codes and BLint codes:
 Arity Lint  -  BLint
------------------------ 
    101         lnt109
                lnt110
    103         lnt100
    106         lnt102
    203         lnt104
    204         lnt105
    208         lnt111
    210         lnt106
    303         lnt101
    308         lnt107
    309         lnt107


Revision history
----------------
v1.0 - 22/06/2009 - Initial revision
v1.1 - 22/12/2009 - Support for dynamic loading of files for parsing SWI PrologScript files (via :-[FileName] construct)
