import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;

public class Main {
	protected static BufferedReader createReader(String name) {
		File inputFile = new File(name);
		FileReader inputStream;
		try {
			inputStream = new FileReader(inputFile);
			BufferedReader reader = new BufferedReader(inputStream);
			return(reader);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return(null);
		}		
	}
	public static void main(String[] args) {
		BufferedReader reader = createReader(args[0]);
		/*Tokenizer input = new Tokenizer();
		input.startParsing(reader, args[0]);*/
		JavaParser parser = new JavaParser();
		parser.startParsing(reader, args[0]);
		System.out.println(parser.parse().toIndentedString(-1));
		//TokenData terminal = input.getInputData();
		//System.out.println(terminal);
	}
}
