Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/make/src/classes/build/tools/jdwpgen/Main.java
32287 views
/*1* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425package build.tools.jdwpgen;2627import java.io.*;2829class Main {3031static String specSource;32static boolean genDebug = true;3334static void usage() {35System.err.println();36System.err.println(37"java Main <spec_input> <options>...");38System.err.println();39System.err.println("Options:");40System.err.println("-doc <doc_output>");41System.err.println("-jdi <java_output>");42System.err.println("-include <include_file_output>");43}4445public static void main(String args[]) throws IOException {46Reader reader = null;47PrintWriter doc = null;48PrintWriter jdi = null;49PrintWriter include = null;5051// Parse arguments52for (int i = 0 ; i < args.length ; ++i) {53String arg = args[i];54if (arg.startsWith("-")) {55String fn = args[++i];56if (arg.equals("-doc")) {57doc = new PrintWriter(new FileWriter(fn));58} else if (arg.equals("-jdi")) {59jdi = new PrintWriter(new FileWriter(fn));60} else if (arg.equals("-include")) {61include = new PrintWriter(new FileWriter(fn));62} else {63System.err.println("Invalid option: " + arg);64usage();65return;66}67} else {68specSource = arg;69reader = new FileReader(specSource);70}71}72if (reader == null) {73System.err.println("<spec_input> must be specified");74usage();75return;76}7778Parse parse = new Parse(reader);79RootNode root = parse.items();80root.parentAndExtractComments();81root.prune();82root.constrain(new Context());83if (doc != null) {84root.document(doc);85doc.close();86}87if (jdi != null) {88root.genJava(jdi, 0);89jdi.close();90}91if (include != null) {92root.genCInclude(include);93include.close();94}95}96}979899