This should only be used if you're going to manually create a
Language, which is an advanced feature.
Normally, you would create a Language via Language.load,
StaticLang or possibly one of the Language.compileGrammar*
functions.

Same as compileGrammar and compileGrammarFile, except it
stores the lexer's NFA and DFA
(in
GraphvizDOT
format)
into Language.nfaDot and Language.dfaDot.
Also, a verbose mode can optionally be enabled.

string filename

The path and name of the CGT file this Language was loaded from (if any).

string name string ver string author string about bool caseSensitive

Metadata about the language.
For more information, see GOLD's documentation for the
grammar definition language
and
CGT files.
Note that all of these, including caseSensitive, are informational-only
and do not actually affect GoldieLib's behavior.

The actual language-defining information in the CGT file.
See GOLD's
CGT documentation
for more information.

These are very low-level to the lexing/parsing process and most people
will not need to access these directly.
In particular, modifying any of these is an advanced feature
that should only be done if you really know what you're doing.

These are always empty unless the Language was created via
Language.compileGrammarDebug or
Language.compileGrammarFileDebug.
Languages loaded from a CGT file or via
StaticLang will never have these filled in.

int nfaNumStates

The number of NFA states created when generating the lexer.
The number of DFA and LALR states can always be found with
dfaTable.length and lalrTable.length.

This is always 0 unless the Language was created via
Language.compileGrammarDebug or
Language.compileGrammarFileDebug.
Languages loaded from a CGT file or via
StaticLang will never have this filled in.

Creates a new Parser and a new Lexer,
uses them to lex and parse "source", and returns the Parser
which can then be used to obtain the
parsing (and lexing) results or can be reused to parse something else.