Refactor/Bugfix(1/4)

(1)All comments that includes BNF are associated with functions
	that generate nonterminal symbols
Refactoring/Bugfix (2/4)

Refactored UnaryExpression#toString(),getValue().
Scanner#next() (throws NoSuchElementException if no elements remain)
Added some unary operators("!","~")
Refactoring/Bugfix (3/4)

Added Scanner#hasNext()
Scanner#next() and Scanner#peek() throws NoSuchElementException
	if there remains no element.
unary() no longer throws NullPointerException.
opexp() was changed because of changes in Scanner#peek().