my small compiler