Skip to content
Snippets Groups Projects
Select Git revision
  • ede6cf57f9572d8f9208da99f21ec3edb0c49fc7
  • main default protected
  • correction_video
  • going_further
  • ImprovedMouseInteraction
  • final2023
  • template
  • ModifGUI
8 results

NextGenerationInitializer.class.uniqueId0

Blame
  • Forked from YAGOUBI Rim / Game of life Template
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Compiler.java 5.27 KiB
    import lParser.parser.*;
    import lParser.lexer.*;
    import lParser.node.*;
    import java.io.*;
    import sc.*;
    import sa.*;
    import ts.*;
    import c3a.*;
    import nasm.*;
    import fg.*;
    import ig.*;
    import util.Error;
    
    
    public class Compiler
    {
    	private static String baseName = null;
    	private static String inputFileName = null;
    	private static int verboseLevel = 0;
    	private static Start scRoot = null;
    	private static SaProg saRoot = null;
    	private static Ts tableGlobale = null;
    	private static C3a c3a = null;
    	private static Nasm nasm = null;
    	private static Fg flowGraph = null;
    	private static FgSolution flowGraphSolution = null;
    	private static Ig interferenceGraph = null;
    
    
    	public static void main(String[] args) {
    		processCommandLine(args);
    		System.out.println("[BUILD SC] ");
    		buildSc();
    		/*		System.out.println("[BUILD SA] ");
    		buildSa();
    		System.out.println("[BUILD TS] ");
    		buildTs();
    		System.out.println("[TYPE CHECKING]");
    		typeCheck();
    		System.out.println("[BUILD C3A] ");
    		buildC3a();
    		System.out.println("[BUILD PRE NASM] ");
    		buildPreNasm();
    		System.out.println("[BUILD FLOW GRAPH] ");
    		buildFg();
    		System.out.println("[SOLVE FLOW GRAPH]");
    		solveFg();
    		System.out.println("[BUILD INTERFERENCE GRAPH] ");
    		buildIg();
    		System.out.println("[ALLOCATE REGISTERS]");
    		interferenceGraph.allocateRegisters();
    		System.out.println("[PRINT NASM]");
    		nasm.afficheNasm(baseName);
    		System.exit(Error.NOERROR.code());*/
    	}
    
    	private static void processCommandLine(String[] args) {
    		for (int i = 0; i < args.length; i++) {
    			if (args[i].equals("-v")) {
    				verboseLevel = Integer.parseInt(args[++i]);
    			} else {
    				inputFileName = args[i];
    				baseName = removeSuffix(inputFileName, ".l");
    			}
    		}
    		if (inputFileName == null) {
    			System.out.println("java Compiler input_file -v verbose_level");
    			System.exit(1);
    		}
    	}