825N/A/*
825N/A * CDDL HEADER START
825N/A *
825N/A * The contents of this file are subject to the terms of the
859N/A * Common Development and Distribution License (the "License").
825N/A * You may not use this file except in compliance with the License.
825N/A *
825N/A * See LICENSE.txt included in this distribution for the specific
860N/A * language governing permissions and limitations under the License.
860N/A *
825N/A * When distributing Covered Code, include this CDDL HEADER in each
825N/A * file and include the License file at LICENSE.txt.
825N/A * If applicable, add the following below this CDDL HEADER, with the
825N/A * fields enclosed by brackets "[]" replaced with your own identifying
825N/A * information: Portions Copyright [yyyy] [name of copyright owner]
825N/A *
825N/A * CDDL HEADER END
825N/A */
825N/A
825N/A/*
825N/A * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
825N/A * Use is subject to license terms.
825N/A */
825N/Apackage org.opensolaris.opengrok.analysis.fortran;
825N/A
825N/Aimport java.util.HashSet;
857N/Aimport java.util.Set;
825N/A
825N/A/**
825N/A * Holds static hash set containing the Fortran keywords.
825N/A * The list is based upon the draft available from http://j3-fortran.org/
825N/A */
825N/Apublic class Consts {
825N/A
857N/A public static final Set<String> kwd = new HashSet<String>();
825N/A
825N/A static {
825N/A // multi-word keywords, such as "DOUBLE PRECISION", etc. are for
825N/A // documentation only (?impossible to have LALR(1) parser for
825N/A // fortran?)
825N/A kwd.add("abort");
825N/A kwd.add("abs");
825N/A kwd.add("access");
825N/A kwd.add("achar");
825N/A kwd.add("acos");
825N/A kwd.add("acosh");
825N/A kwd.add("addop");
825N/A kwd.add("adjustl");
825N/A kwd.add("adjustr");
825N/A kwd.add("aimag");
825N/A kwd.add("aint");
825N/A kwd.add("alarm");
825N/A kwd.add("all");
825N/A kwd.add("allocatable");
825N/A kwd.add("allocate");
825N/A kwd.add("allocated");
825N/A kwd.add("and");
825N/A kwd.add("anint");
825N/A kwd.add("any");
825N/A kwd.add("asin");
825N/A kwd.add("asinh");
825N/A kwd.add("associated");
825N/A kwd.add("atan");
825N/A kwd.add("atan2");
825N/A kwd.add("atanh");
825N/A kwd.add("backspace");
825N/A kwd.add("besj0");
825N/A kwd.add("besj1");
825N/A kwd.add("besjn");
825N/A kwd.add("besy0");
825N/A kwd.add("besy1");
825N/A kwd.add("besyn");
825N/A kwd.add("bit_size");
825N/A kwd.add("block");
825N/A kwd.add("break");
825N/A kwd.add("btest");
825N/A kwd.add("byte");
825N/A kwd.add("c_associated");
825N/A kwd.add("c_f_pointer");
825N/A kwd.add("c_f_procpointer");
825N/A kwd.add("c_funloc");
825N/A kwd.add("c_loc");
825N/A kwd.add("call");
825N/A kwd.add("case");
825N/A kwd.add("ceiling");
825N/A kwd.add("char");
825N/A kwd.add("character");
825N/A kwd.add("chdir");
825N/A kwd.add("chmod");
825N/A kwd.add("close");
825N/A kwd.add("cmplx");
825N/A kwd.add("command_argument_count");
825N/A kwd.add("common");
825N/A kwd.add("complex");
825N/A kwd.add("complex");
825N/A kwd.add("conjg");
825N/A kwd.add("continue");
825N/A kwd.add("cos");
825N/A kwd.add("cosh");
825N/A kwd.add("count");
825N/A kwd.add("cpu_time");
825N/A kwd.add("cshift");
825N/A kwd.add("ctime");
825N/A kwd.add("cycle");
825N/A kwd.add("data");
825N/A kwd.add("date_and_time");
825N/A kwd.add("dble");
825N/A kwd.add("dcmplx");
825N/A kwd.add("deallocate");
825N/A kwd.add("dfloat");
825N/A kwd.add("digits");
825N/A kwd.add("dim");
825N/A kwd.add("dimension");
825N/A kwd.add("do");
825N/A kwd.add("dot_product");
825N/A kwd.add("double");
825N/A kwd.add("dprod");
825N/A kwd.add("dreal");
825N/A kwd.add("dtime");
825N/A kwd.add("elemental");
825N/A kwd.add("else");
825N/A kwd.add("elseif");
825N/A kwd.add("end");
825N/A kwd.add("enddo");
825N/A kwd.add("endfile");
825N/A kwd.add("endif");
825N/A kwd.add("eol");
825N/A kwd.add("eoshift");
825N/A kwd.add("epsilon");
825N/A kwd.add("eq");
825N/A kwd.add("equivalence");
825N/A kwd.add("erf");
825N/A kwd.add("erfc");
825N/A kwd.add("etime");
825N/A kwd.add("exit");
825N/A kwd.add("exit");
825N/A kwd.add("exp");
825N/A kwd.add("exponent");
825N/A kwd.add("external");
825N/A kwd.add("false");
825N/A kwd.add("fdate");
825N/A kwd.add("fget");
825N/A kwd.add("fgetc");
825N/A kwd.add("float");
825N/A kwd.add("floor");
825N/A kwd.add("flush");
825N/A kwd.add("fnum");
825N/A kwd.add("format");
825N/A kwd.add("fput");
825N/A kwd.add("fputc");
825N/A kwd.add("fraction");
825N/A kwd.add("free");
825N/A kwd.add("frequency");
825N/A kwd.add("fseek");
825N/A kwd.add("fstat");
825N/A kwd.add("ftell");
825N/A kwd.add("function");
825N/A kwd.add("function");
825N/A kwd.add("gamma");
825N/A kwd.add("ge");
825N/A kwd.add("gerror");
825N/A kwd.add("get_command");
825N/A kwd.add("get_command_argument");
825N/A kwd.add("get_environment_variable");
825N/A kwd.add("getarg");
825N/A kwd.add("getcwd");
825N/A kwd.add("getenv");
825N/A kwd.add("getgid");
825N/A kwd.add("getlog");
825N/A kwd.add("getpid");
825N/A kwd.add("getuid");
825N/A kwd.add("gmtime");
825N/A kwd.add("goto");
825N/A kwd.add("gt");
825N/A kwd.add("hostnm");
825N/A kwd.add("huge");
825N/A kwd.add("iachar");
825N/A kwd.add("iand");
825N/A kwd.add("iargc");
825N/A kwd.add("ibclr");
825N/A kwd.add("ibits");
825N/A kwd.add("ibset");
825N/A kwd.add("ichar");
825N/A kwd.add("idate");
825N/A kwd.add("identifier");
825N/A kwd.add("ieor");
825N/A kwd.add("ierrno");
825N/A kwd.add("if");
825N/A kwd.add("implicit");
825N/A kwd.add("include");
825N/A kwd.add("index");
825N/A kwd.add("inquire");
825N/A kwd.add("int");
825N/A kwd.add("int2");
825N/A kwd.add("int8");
825N/A kwd.add("integer");
825N/A kwd.add("ior");
825N/A kwd.add("irand");
825N/A kwd.add("is_iostat_end");
825N/A kwd.add("is_iostat_eor");
825N/A kwd.add("isatty");
825N/A kwd.add("ishft");
825N/A kwd.add("ishftc");
825N/A kwd.add("isnan");
825N/A kwd.add("itime");
825N/A kwd.add("kill");
825N/A kwd.add("kind");
825N/A kwd.add("lbound");
825N/A kwd.add("le");
825N/A kwd.add("len");
825N/A kwd.add("len_trim");
825N/A kwd.add("lgamma");
825N/A kwd.add("lge");
825N/A kwd.add("lge");
825N/A kwd.add("lgt");
825N/A kwd.add("lgt");
825N/A kwd.add("link");
825N/A kwd.add("lle");
825N/A kwd.add("lle");
825N/A kwd.add("llt");
825N/A kwd.add("llt");
825N/A kwd.add("lnblnk");
825N/A kwd.add("loc");
825N/A kwd.add("log");
825N/A kwd.add("log10");
825N/A kwd.add("logical");
825N/A kwd.add("logical");
825N/A kwd.add("long");
825N/A kwd.add("lshift");
825N/A kwd.add("lstat");
825N/A kwd.add("lt");
825N/A kwd.add("ltime");
825N/A kwd.add("malloc");
825N/A kwd.add("matmul");
825N/A kwd.add("max");
825N/A kwd.add("maxexponent");
825N/A kwd.add("maxloc");
825N/A kwd.add("maxval");
825N/A kwd.add("mclock");
825N/A kwd.add("mclock8");
825N/A kwd.add("merge");
825N/A kwd.add("min");
825N/A kwd.add("minexponent");
825N/A kwd.add("minloc");
825N/A kwd.add("minval");
825N/A kwd.add("mod");
825N/A kwd.add("modulo");
825N/A kwd.add("move_alloc");
825N/A kwd.add("mulop");
825N/A kwd.add("mvbits");
825N/A kwd.add("ne");
825N/A kwd.add("nearest");
825N/A kwd.add("new_line");
825N/A kwd.add("nint");
825N/A kwd.add("none");
825N/A kwd.add("not");
825N/A kwd.add("null");
825N/A kwd.add("nullify");
825N/A kwd.add("open");
825N/A kwd.add("or");
825N/A kwd.add("pack");
825N/A kwd.add("parameter");
825N/A kwd.add("perror");
825N/A kwd.add("pointer");
825N/A kwd.add("precision");
825N/A kwd.add("present");
825N/A kwd.add("print");
825N/A kwd.add("product");
825N/A kwd.add("program");
825N/A kwd.add("punch");
825N/A kwd.add("pure");
825N/A kwd.add("qstring");
825N/A kwd.add("radix");
825N/A kwd.add("ran");
825N/A kwd.add("rand");
825N/A kwd.add("random_number");
825N/A kwd.add("random_seed");
825N/A kwd.add("range");
825N/A kwd.add("read");
825N/A kwd.add("real");
825N/A kwd.add("real");
825N/A kwd.add("relop");
825N/A kwd.add("rename");
825N/A kwd.add("repeat");
825N/A kwd.add("reshape");
825N/A kwd.add("return");
825N/A kwd.add("rewind");
825N/A kwd.add("rrspacing");
825N/A kwd.add("rshift");
825N/A kwd.add("save");
825N/A kwd.add("scale");
825N/A kwd.add("scan");
825N/A kwd.add("secnds");
825N/A kwd.add("second");
825N/A kwd.add("select");
825N/A kwd.add("selected_int_kind");
825N/A kwd.add("selected_real_kind");
825N/A kwd.add("set_exponent");
825N/A kwd.add("shape");
825N/A kwd.add("sign");
825N/A kwd.add("signal");
825N/A kwd.add("sin");
825N/A kwd.add("sinh");
825N/A kwd.add("size");
825N/A kwd.add("sizeof");
825N/A kwd.add("sleep");
825N/A kwd.add("sngl");
825N/A kwd.add("spacing");
825N/A kwd.add("spread");
825N/A kwd.add("sqrt");
825N/A kwd.add("srand");
825N/A kwd.add("stat");
825N/A kwd.add("stop");
825N/A kwd.add("subroutine");
825N/A kwd.add("sum");
825N/A kwd.add("symlnk");
825N/A kwd.add("system");
825N/A kwd.add("system_clock");
825N/A kwd.add("tan");
825N/A kwd.add("tanh");
825N/A kwd.add("then");
825N/A kwd.add("time");
825N/A kwd.add("time8");
825N/A kwd.add("tiny");
825N/A kwd.add("transfer");
825N/A kwd.add("transpose");
825N/A kwd.add("trim");
825N/A kwd.add("true");
825N/A kwd.add("ttynam");
825N/A kwd.add("ubound");
825N/A kwd.add("umask");
825N/A kwd.add("unary");
825N/A kwd.add("unlink");
825N/A kwd.add("unpack");
825N/A kwd.add("verify");
825N/A kwd.add("volatile");
825N/A kwd.add("where");
825N/A kwd.add("while");
825N/A kwd.add("write");
825N/A kwd.add("xor");
825N/A }
825N/A}