Initialize git flag to false

Otherwise it is used uninitialized if the -g option is not set.
Fix indentation in multi_comment()
Fix line and column numbers of identifiers

The parser may need to read more tokens to determine the production rule,
so the lineno and colno counters from the lexer can't be used by the
parser to determine the location of an identifier.

Instead, change the tag of the CZ_IDENTIFIER token to strloc, and update
the lexer to store the lineno and colno values in it before they are
Write newline after last '}' of annotations
Improve POSIX-compatibility of Makefile

* Add .POSIX special target so make(1) processes it as a POSIX Makefile.
* Use inference rules instead of GNU make pattern rules.
* Avoid use of $< outside of inference rules.
* Add an `all` target as the first target in the file, making it the
* Avoid use of $^.
* Split yacc(1) options into separate arguments (causes problems with
  FreeBSD yacc).

Though .PHONY, `:=`, `+=`, and `?=` aren't in POSIX.1-2008, they are
left since they are widely supported and accepted for inclusion in the
next edition of POSIX[0][1].

Tested with GNU make, OpenBSD make, FreeBSD make, and bmake.

I still suck at makefiles
mkdir, not mdkir
Add install target to makefile
Fix removal of symbol from doubly linked list
Use realpath for file lookup
Emit JSON and look up git blobs
Complete graph construction
Start moving parser state into the graph
Add graph structures
Implement parser logic for stdarg.h
Add more GNU extensions to the lexer
main: add -d flag to enable yydebug
parser: combine successive string literals
Fix snprintf check