reorder methods
support comments succeeding after ';'
report an error when failed to read file contents
define ast classes inside helmold namespace
add ast type (alias for std::shared_ptr<node>)
rename AST to node
rename expression -> value
rename again: the class name is ast, and its shared_ptr version is node
remove unneeded include
move definitions in ast class to the header file
reafactor reference class
make ast#~ast non-pure virtual: children asts are now managed via shared_ptr, so don't need to delete explicitly
'node *' type -> 'node' type
refactor literal ast class
rename the accessor
'node*' type -> 'node' type
refactor remained classes