FortranAnalyzer.java revision f9fd2b96d1c5ea62664f74da0e34a04b6511a8ff
f480a2c90c9bf75c2eded1a0577a65b262970552Vladimir Kotal/*
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * CDDL HEADER START
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye *
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * The contents of this file are subject to the terms of the
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * Common Development and Distribution License (the "License").
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * You may not use this file except in compliance with the License.
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye *
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * See LICENSE.txt included in this distribution for the specific
e7b21c8124ec55ffacc49c1e28a8685834715484Lubos Kosco * language governing permissions and limitations under the License.
e7b21c8124ec55ffacc49c1e28a8685834715484Lubos Kosco *
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * When distributing Covered Code, include this CDDL HEADER in each
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * file and include the License file at LICENSE.txt.
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * If applicable, add the following below this CDDL HEADER, with the
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * fields enclosed by brackets "[]" replaced with your own identifying
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * information: Portions Copyright [yyyy] [name of copyright owner]
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye *
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye * CDDL HEADER END
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye */
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal/*
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
a8946de730d1f4298332fe8fd0a199bb2f69a764Vladimir Kotal */
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotalpackage org.opensolaris.opengrok.analysis.fortran;
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbye
d20db9dd18673cf482111b9cd3ecc6823d0e45a3Trond Norbyeimport java.io.IOException;
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.comimport java.io.Reader;
f480a2c90c9bf75c2eded1a0577a65b262970552Vladimir Kotalimport java.io.Writer;
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.comimport org.opensolaris.opengrok.analysis.AnalyzerGuru;
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.comimport org.opensolaris.opengrok.analysis.Definitions;
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.comimport org.opensolaris.opengrok.analysis.plain.AbstractSourceCodeAnalyzer;
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.comimport org.opensolaris.opengrok.configuration.Project;
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.comimport org.opensolaris.opengrok.history.Annotation;
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com/**
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com * An Analyzer for Fortran type of files
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com *
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com * @author Scott Halstead
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com */
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.compublic class FortranAnalyzer extends AbstractSourceCodeAnalyzer {
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com private final FortranSymbolTokenizer fref = new FortranSymbolTokenizer(AnalyzerGuru.dummyR);
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com private final FortranXref xref = new FortranXref(AnalyzerGuru.dummyR);
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com FortranAnalyzer(FortranAnalyzerFactory factory) {
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com super(factory);
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com super.setAnalyzers(fref, xref);
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com }
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com static void writeXref(Reader in, Writer out, Definitions defs, Annotation annotation, Project project) throws IOException {
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com FortranXref xref = new FortranXref(in);
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com AbstractSourceCodeAnalyzer.writeXref(xref, in, out, defs, annotation, project);
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com }
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com}
8bdb629053c6752f21668f2af5f336109439b15bkrystof.tulinger@oracle.com