ast: add variable parsing and basic AST support

Signed-off-by: Levente Kurusa <levex@linux.com>