Libraries

JFlex - says GPL but doesn't appear to use the official text
    "Code you generate with JFlex is not covered by the GPL, it is yours." (http://jflex.de/)
Beaver - BSD (GPL compatible)
    Torbjorn says the output is ours.
JastAdd - BSD (GPL compatible)
JUnit - BSD (GPL compatible)
Ant - Apache 2.0 (GPL 3 compatible)

Licenses

Overview: http://en.wikipedia.org/wiki/Comparison_of_free_software_licences

GPL
    Strong copyleft
    Combine with anything else => whole is GPL
    Output may be GPL (depends)

LGPL
    Work is copyleft
    Code that uses the work can use another license

BSD
    Have to include credit, license, and disclaimer
    May have to drop credit requirement for GPL compatibility

Apache
    Like BSD but requires more credit (per-file?)
    Some legal details are incompatible with older GPLs (pre 3)

Eclipse
    Intended to be business-friendly
    Not GPL compatible

Uses (MetaLexer)

JFlex spec - any
JFlex output - any
Beaver spec - any
Beaver output - any/BSD
    Wikipedia says Bison output would be covered without a specific GPL exception
    Runtime library is definitely BSD (Already includes license)
JastAdd spec - any
JastAdd output - any/BSD (since AST classes provided)
    Presumably default generated classes are BSD (i.e. ASTNode, List, etc)
Generated JFlex - any

Created jar file does not depend on or modify any GPL'd code but does include some BSD code

Things that refer to JFlex
    Modified JFlexTask (as NoAntJFlexTask) for CompilationTests
    Ant files (probably ok since they are not in "two parts of one program")
    JFlex-to-MetaLexer translator (definitely has to be GPL'd)
    All JFlex tests that depend upon CompilationTests won't run without JFlex
        Could check a property before trying to run them

Does it matter that my syntax is based on JFlex's syntax (which is based on JLex, flex, lex)
    lex is gone (was proprietary)
    flex is BSD-style

Note: JLex is BSD (GPL compatible)

Option: don't include JFlex, but do include both JFlex spec and resulting class file
    System is runnable as downloaded and modifiable with separate download of jflex
    Update Ant file to not fail if JFlex is absent

Not actually distributing Ant

Does not appear to be governed by McGill's IP policy